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));
}
}