C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[4]: C# マルチスレッド invokeについて
(過去ログ 127 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 5 記事 (1 - 5 表示)] <<
0
>>
■75771
/ inTopicNo.1)
C# マルチスレッド invokeについて
▼
■
□投稿者/ ぽん吉
(27回)-(2015/05/01(Fri) 00:59:32)
分類:[C#]
マルチスレッドにてベツスレッドからフォームにあるコントロールを操作したいのですが、
void SetFocus()
{
if (InvokeRequired)
{
// 別スレッドから呼び出された場合
Invoke(new SetFocusDelegate(SetFocus));
return;
}
listBox1.Focus();
}
void worker()
{
SetFocus();
}
これを表記しても
int num11 = int.Parse(listBox1.Text);
ここの部分でエラーがかかってしまいます。
どうすればいいでしょうか?
引用返信
編集キー/
編集
■75773
/ inTopicNo.2)
Re[1]: C# マルチスレッド invokeについて
▲
▼
■
□投稿者/ Azulean
(471回)-(2015/05/01(Fri) 02:27:23)
■
No75771
(ぽん吉 さん) に返信
> これを表記しても
> int num11 = int.Parse(listBox1.Text);
> ここの部分でエラーがかかってしまいます。
> どうすればいいでしょうか?
提示されたコード中に問題の一文は存在していませんが、どういうことでしょうか。
基本的にコントロールに対して操作する(メソッドを呼ぶ、プロパティを設定する)、コントロールから値を取得する(プロパティから値を得る)行為は Invoke 先で処理する必要があります。
Focus を与えるコードを呼べば、後は大丈夫と勘違いされていないでしょうか。
引用返信
編集キー/
編集
■75794
/ inTopicNo.3)
Re[2]: C# マルチスレッド invokeについて
▲
▼
■
□投稿者/ ぽん吉
(28回)-(2015/05/01(Fri) 22:45:26)
解決しました。
解決済み
引用返信
編集キー/
編集
■75796
/ inTopicNo.4)
Re[3]: C# マルチスレッド invokeについて
▲
▼
■
□投稿者/ WebSurfer
(564回)-(2015/05/01(Fri) 23:08:03)
■
No75794
(ぽん吉 さん) に返信
> 解決しました。
どのように解決したのか書きませんか。回答をもらった方に失礼では?
引用返信
編集キー/
編集
■75797
/ inTopicNo.5)
Re[4]: C# マルチスレッド invokeについて
▲
▼
■
□投稿者/ ぽん吉
(30回)-(2015/05/02(Sat) 10:04:21)
Invoke 先に処理を入れたら動きました。
ありがとうございました。
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-