Form1のボタンクリック偶数ハンドラで、Form2を作成します。ここに私のコードは、Form1新しいフォームを作成する際の問題
// button1 belongs to Form1
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2("www.google.com");
form2.ShowDialog();
}
のForm2のコンストラクタのボタン1の
さえハンドラがある
public Form2 (string str)
{
InitializeComponent();
address = str;
button2.Text = str; // button2 belongs to Form2
}
public Form2()
{
InitializeComponent();
}
私の質問や懸念がある
は、ボタン1件のイベントハンドラがForm1のUIスレッドで実行され、もしされますForm1のUIスレッド内で新しいForm2を作成し、UIスレッドを使用してForm2のUI要素(button2.Text)を設定します。私の理解では、各フォームはオーナーのUIスレッドを持ち、UI要素(ボタンなど)はフォーム独自のオーナースレッドのみで処理する必要がありますか?私のコードが間違っている場合は、誰かが私の現在のフォームのイベントハンドラ内の別のフォームを作成し、パラメータを渡すエレガントな方法を私に見せることができて感謝します。
VSTS 2008 + C#+ .Net 2.0を使用しています。
作成するフォームの数に関係なく、すべて同じUIスレッドを共有したいと思っていますか? – George2