public static RDPConnectionDetails ChooseRdpLogonUser()

in 2LCS/Forms/MainForm.cs [84:139]


        public static RDPConnectionDetails ChooseRdpLogonUser(List<RDPConnectionDetails> rdpList)
        {
            if (Properties.Settings.Default.alwaysLogAsAdmin)
            {
                return rdpList.FirstOrDefault(x => x.Username.Contains("Admin"));
            }
            else
            {
                Form form = new Form();
                Button button_OK = new Button() { Text = "OK", Location = new Point(60, 30) };
                Button button_Cancel = new Button() { Text = "Cancel", Location = new Point(140, 30) };
                button_OK.DialogResult = DialogResult.OK;
                button_Cancel.DialogResult = DialogResult.Cancel;
                FlowLayoutPanel panel = new FlowLayoutPanel
                {
                    Dock = DockStyle.Fill
                };

                form.Text = "Choose user";
                form.ClientSize = new Size(280, 60);
                form.FormBorderStyle = FormBorderStyle.FixedDialog;
                form.StartPosition = FormStartPosition.CenterScreen;
                form.AcceptButton = button_OK;
                form.CancelButton = button_Cancel;
                form.MinimizeBox = false;
                form.MaximizeBox = false;
                form.ControlBox = false;

                form.Controls.AddRange(new Control[] { button_OK, button_Cancel });
                var i = 1;
                foreach (var rdpEntry in rdpList.OrderBy(x => x.Username))
                {
                    if (i == 1)
                    {
                        panel.Controls.Add(new RadioButton() { Text = rdpEntry.Username, Checked = true });
                    }
                    else
                    {
                        panel.Controls.Add(new RadioButton() { Text = rdpEntry.Username });
                    }
                    i++;
                }
                form.Controls.Add(panel);

                DialogResult dialogResult = form.ShowDialog();

                if (dialogResult == DialogResult.Cancel)
                    return null;

                RadioButton rbSelected = panel.Controls
                             .OfType<RadioButton>()
                             .FirstOrDefault(r => r.Checked);

                return rdpList.FirstOrDefault(x => x.Username.Equals(rbSelected.Text));
            }
        }