2 つのデータバインドされたリストボックスと 2 つのデータバインドされたコンボボックスを含むフォームがあります。型指定されたデータセットを使用しています。コントロールは、次のスキーマとこのスキーマのデータを持つテーブルのペアにバインドされます。1listbox
つと 1 つがテーブルcomboBox
にバインドされます。bar
もう一方はテーブルlistbox
にcomboBox
バインドされfoo
ます。
foo に対して SelectedIndexChanged イベントが発生するlistBox
と、バーlistBox
とcomboBox
.
ただし、foo を使用してイベント内 comboBox
にアクセスしようとすると、新しい値ではなく、以前に選択した値が取得されます。は現在の値を教えてくれます。barComboBox.SelectedText
FooComboBox_SelectedIndexChanged
SelectedText
BarListBox.Selected
を使用して選択を行うことに注意してくださいFooListBox
。両方のイベント ハンドラーが期待どおりに機能します。
ここで何が起こっているのか、これを回避する方法を誰かが説明できますか?
フォームのスクリーンショットとサンプル データ:
データセット デザイナー:
form1.cs コード:
//Standard using statements and namespace info
public partial class Form1 : Form
{
//Loading DataSets and initializing here
private void FooListBox_SelectedIndexChanged(object sender, EventArgs e)
{
Console.WriteLine("The value in the bar ListBox is {0}", barListBox.Text);
}
private void FooComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
Console.WriteLine("The value in the bar comboBox is {0}", barComboBox.Text);
}
}