- - PR -
C#でタイマーが作動しない
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-08-21 17:29
タイマープログラムを作っています。
2台のコンピュータで通信しながら動作するのですが,以下のようにすると タイマーがスタート・ストップできません。 button3はタイマーのスタート・ストップのボタンです。 ****には適当な名前が入ります。 データの受信はしています。 button3.PerformClick();のところにMsgboxなどをいれると正常に表示されます。
なお,以下のようなプログラムではスタート・ストップができます。
Button3のコードは以下のとおりです。
[ メッセージ編集済み 編集者: tomox 編集日時 2006-08-21 17:33 ] | ||||||||||||
|
投稿日時: 2006-08-21 17:54
TcpListener の同期メソッドを使ってるってことは、この****メソッドはメインスレッドとは別のスレッドで動かしてませんか?
別スレッドからコントロールにアクセスする際は Control.Invoke/BeginInvoke を使用する必要がありますが。 [ メッセージ編集済み 編集者: Hongliang 編集日時 2006-08-21 17:56 ] | ||||||||||||
|
投稿日時: 2006-08-21 18:46
とうもありがとうございます。
具体的にどのように記述すればよいのでしょうか。 初心者の質問で申し訳ございません。 よろしくお願い致します。 | ||||||||||||
|
投稿日時: 2006-08-22 12:01
下記を参考にすると、Invokeの使い方はわかると思います。
http://www.atmarkit.co.jp/fdotnet/dotnettips/312ctrlinvoke/ctrlinvoke.html |
1