私のアプリケーションでは、コンボ ボックス内のアダプターを変更すると、すべてのネットワーク アダプターを取得します (マシンに複数のアダプターがある場合)。コンボ ボックスのインデックスが変更され、関数がラベルを更新しませんでした。
この行で:IEnumerable<NetworkAdapter> add = adapter.getAdapterInfo();
私はアダプタのコレクションを受け取り、すべてのアダプタには独自のプロパティ(名前、ID、速度、IP...)があります
private void comboBoxAdaptersWindow_SelectedIndexChanged(object sender, EventArgs e)
{
ComboBox combobox = sender as ComboBox;
NetworkAdapter selectedNic = combobox.SelectedItem as NetworkAdapter;
UpdateForm(selectedNic);
}
private void UpdateForm(NetworkAdapter adapter)
{
IEnumerable<NetworkAdapter> add = adapter.getAdapterInfo();
List<NetworkAdapter> adaptersList = add.ToList();
for (int i = 0; i < adaptersList.Count; i++) //update my labels
{
lblName2.Text = adaptersList[i]._name;
lblId2.Text = adaptersList[i]._id;
lblInterfaceType2.Text = adaptersList[i]._networkInterfaceType;
lblIPv4Address2.Text = adaptersList[i]._ipAddress;
lblDefaultGateway2.Text = adaptersList[i]._gatewayIpAddress;
lblMacAddress2.Text = adaptersList[i]._macAddress;
lblSpeed2.Text = adaptersList[i]._speed;
}
}