申し訳ありませんが、これは非常に簡単な修正ですが、ラベルの外部アクセスを許可するための一般的な方法を作成しようとしていますが、今はWindowsのドキュメントがこれを例に挙げています。C#外部のスレッドからラベルのテキストを変更するための一般的なメソッド。
delegate void SetTextCallback(string text);
...some other code ...
private void SetText(string text)
{
// InvokeRequired required compares the thread ID of the
// calling thread to the thread ID of the creating thread.
// If these threads are different, it returns true.
if (this.textLable.InvokeRequired)
{
SetTextCallback d = new SetTextCallback(SetText);
this.Invoke(d, new object[] { text });
}
else
{
this.textLable.Text = text;
}
}
しかし、私はオブジェクトにポインタの行に沿って何かを渡すことができる、より一般的なものを作成したいと思いますが、Windowsフォームのテキストラベルはこれを許可しません。理想的には、私はこれらの線に沿って何かをする何かをしたいと思い、この場合の
...code...
private void SetText(string text, Label* lablePointer)
{
if (this.lablePointer.InvokeRequired)
{
SetTextCallback d = new SetTextCallback(SetText);
this.Invoke(d, new object[] { text });
}
else
{
this.lablePointer.Text = text;
}
}
これを行うための方法があります(これは単なるexplainationalの目的のために、明らかな形で動作しませんか)?私は見てきましたが、どこにも答えられていないようです。
なぜあなたはポインタを使用しますか? – NtFreX
私は現在、もっと良いことが分かっていないので(これを行うより良い方法があれば)、問題の要点を理解するだけです。私は、複数のラベルにこれを使用して、他のスレッドがそれらにアクセスし、それぞれのラベルに対してこれらの方法を100万回書くことを救うことができるようにすることを望んでいます。 – Metric