C#では、Control.Invokeを使用して、フォームが実行されている同じスレッドからコントロールのプロパティを変更する際に問題はありますか?Control.Invokeフォームが実行されている同じスレッドから
私はそれがControl.Property = value
を使用して最善であることを知っていますが、代わりにControl.Invokeを使用することの結果がどのようなものかを知りたいと思います。
例:
この使い方:
public partial class FormMain : Form
{
private void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "Hello";
}
}
はプロペあります。これに代えて
rty InvokeRequired。 Invokeを必要とするかどうかを知るために、これを最初に呼び出す必要があります。 –
呼び出しを行うだけのオーバーヘッド。それは正常に動作するはずですが、なぜですか? – dbasnett
[参照元](http://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/Control.cs,7241)によると: "これを呼び出すのはエラーですコントロールが属する同じスレッド。 (これは 'Invoke(delegate、object [])'にありますが、 'Invoke(delegate)'がそのメソッドに委譲するだけです) –