C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

ワーカースレッド /Use (17/05/09(Tue) 15:46) #84019
Re[1]: ワーカースレッド /大谷刑部 (17/05/09(Tue) 17:36) #84022
Re[1]: ワーカースレッド /魔界の仮面弁士 (17/05/10(Wed) 10:30) #84024


親記事 / ▼[ 84022 ] ▼[ 84024 ]
■84019 / 親階層)  ワーカースレッド
□投稿者/ Use (1回)-(2017/05/09(Tue) 15:46:45)

分類:[C#] 

Windows 7/ Visual Studio 2010 C#


OutDataをラベルに表示することが出来ず、下記のエラーが表示されます。
”静的でないフィールド、メソッド、またはプロパティ で、オブジェクト参照が必要です”

ラベルにOutDataを表示するにはどのようにしたら宜しいでしょうか?


private void Main(object sender, EventArgs e)
{
Worker workerObject = new Worker();
Thread workerThread = new Thread(workerObject.DoWork);
workerThread.Start();
}

public class Worker
{
public void DoWork()
{
string Outdata = "";
while (!_shouldStop)
{
   label2.text= OutData:
}
}

public void RequestStop()
{
_shouldStop = true;
private volatile bool _shouldStop;
}
[ □ Tree ] 返信 編集キー/

▲[ 84019 ] / 返信無し
■84022 / 1階層)  Re[1]: ワーカースレッド
□投稿者/ 大谷刑部 (29回)-(2017/05/09(Tue) 17:36:44)
No84019 (Use さん) に返信
> Windows 7/ Visual Studio 2010 C#
>
>
> OutDataをラベルに表示することが出来ず、下記のエラーが表示されます。
> ”静的でないフィールド、メソッド、またはプロパティ で、オブジェクト参照が必要です”
>

↓以下と似た話な気がしますが。
http://d.hatena.ne.jp/shingotada+2/20100720/1279644242
[ 親 84019 / □ Tree ] 返信 編集キー/

▲[ 84019 ] / 返信無し
■84024 / 1階層)  Re[1]: ワーカースレッド
□投稿者/ 魔界の仮面弁士 (1271回)-(2017/05/10(Wed) 10:30:50)
No84019 (Use さん) に返信
> label2.text= OutData:

C# では、行末に来るのは :(コロン) ではなく ;(セミコロン) です。
また、ラベルならば .text ではなく .Text のはずです。


> private void Main(object sender, EventArgs e)

static void Main() では無いのですね。

引数定義を見た限り、何かのイベントハンドラとして割り当てられているようですが、
この Main メソッドはどこから呼ばれるようになっているのでしょうか。


> Thread workerThread = new Thread(workerObject.DoWork);

label2 という変数は、デザイナで貼られたものでしょうか。
もしも class Worker 以外のクラス上にあるラベルなら、Worker 内からは
  label2.Text = 何某;
でアクセスすることはできません。(どこのラベルを操作するか明示されていないため)
  

また、そもそもラベルは、UI スレッドに属することになるわけですが、
今回の Worker の DoWork メソッドは、UI スレッドではなく、
新規に作成された別スレッドで動作するようになっています。


何をしたいのか意図が読み取れなかったのですが、基本的に、
別スレッドで管理されているオブジェクトを直接操作することはできませんので、
オブジェクトの設計から見直した方が良いと思います。
[ 親 84019 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -