Files
mRemoteNG/mRemoteV1/UI/Controls/CredentialRecordListBox.cs
2017-07-29 22:07:51 -05:00

41 lines
1.4 KiB
C#

using System.Collections.Generic;
using System.ComponentModel;
using System.Windows.Forms;
using mRemoteNG.Credential;
namespace mRemoteNG.UI.Controls
{
public partial class CredentialRecordListBox : ListBox
{
public new ICredentialRecord SelectedItem => (ICredentialRecord)base.SelectedItem;
public ICredentialRecord NoneSelection { get; } = new CredentialRecord { Title = $"--{Language.strNone}--" };
public ICredentialRecord AddNewSelection { get; } = new CredentialRecord { Title = $"--{Language.strAdd}--" };
public CredentialRecordListBox(IEnumerable<ICredentialRecord> listOfCredentialRecords)
{
InitializeComponent();
PopulateList(listOfCredentialRecords);
}
public CredentialRecordListBox(IEnumerable<ICredentialRecord> listOfCredentialRecords, IContainer container)
{
container.Add(this);
InitializeComponent();
PopulateList(listOfCredentialRecords);
}
private void PopulateList(IEnumerable<ICredentialRecord> listOfCredentialRecords)
{
SelectionMode = SelectionMode.One;
DisplayMember = nameof(ICredentialRecord.Title);
Items.Add(NoneSelection);
Items.Add(AddNewSelection);
foreach (var credential in listOfCredentialRecords)
{
Items.Add(credential);
}
}
}
}