あるフォームのコンボボックス選択項目を別のフォーム コンストラクターに呼び出そうとしています。変数を割り当てて、他の目的に使用できるようにします。
コンボボックス値を含むフォームはモード フォームです。
public Mode()
{
InitializeComponent();
}
private void Mode_Load(object sender, EventArgs e)
{
DataSet ds = new DataSet();
comboBox1.Focus();
String query = "select [test_no],[test_name] from [Test]";
ds = db.ExecuteDataSet(query);
comboBox1.DisplayMember = "test_name";
comboBox1.ValueMember = "test_no";
comboBox1.DataSource = ds.Tables["tablename"];
panel3.Controls.Add(comboBox1);
panel3.Controls.Add(Runbutton);
}
private void Runbutton_Click_2(object sender, EventArgs e)
{
label3.Enabled = true;
val = Convert.ToString(comboBox1.Text);
Test test = new Test(val);
Test test1 = new Test();
test1.Activate();
test1.Focus();
this.Hide();
test1.ShowDialog();
}
private void comboBox1_SelectedIndexChanged_1(object sender, EventArgs e)
{
val = Convert.ToString(comboBox1.SelectedItem);
}
テストフォーム:コード
string parentform;
public Test()
{
InitializeComponent();
RunFirst_Settings();
UserLogin login = new UserLogin();
login.Hide();
login.Visible = false;
}
public Test(string Mode)
{
parentform = Mode;
}
private void Startbutton_Click(object sender, EventArgs e)
{
stopwatch.Start();
timer1.Start();
ts=new ThreadStart(ProcessStarted);
th=new Thread(ts);
th.Start();
}
private void ProcessStarted()
{
if (parentform != null)
{
// Here every time it returns a null value. Before it was
// showing the exact selectedItem of combobox in Mode form:
MMTest(parentform);
}
else
{
//other code to be done
}
}
コンボボックスのselectedItemを正確に取得するにはどうすればよいですか?なにか提案を?Mode フォームの Runbutton_Click_2() でのみ Test(string Mode) コンストラクターを呼び出すと、実際のテスト フォームではなく、空白のフォームが表示されます。
私の間違いはどこですか?必要な結果を得るにはどうすれば修正できますか。