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

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

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

フォームを移動する時にバックグラウンドプロセスが止まってしま

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■90318 / inTopicNo.1)  フォームを移動する時にバックグラウンドプロセスが止まってしま
  
□投稿者/ あびば (12回)-(2019/02/26(Tue) 11:24:25)

分類:[.NET 全般] 

http://bbs.wankuma.com/index.cgi?mode=al2&namber=90244

ここで質問させていただいたのですが、
データを連続的に取得している途中に
フォームをドラッグして移動させると
その瞬間だけデータ取得が一時的に停止してしまい、
チャートが不連続になってしまいます。

どうもバックグランドプロセスであっても
フォームを移動させた時に
一時的に停止してしまうようです。

どうすれば、フォーム移動中であっても
バックグランドプロセスを停止させずに
実行することができますか?



引用返信 編集キー/
■90319 / inTopicNo.2)  Re[1]: フォームを移動する時にバックグラウンドプロセスが止まってしま
□投稿者/ shu (1165回)-(2019/02/26(Tue) 11:45:19)
No90318 (あびば さん) に返信
> http://bbs.wankuma.com/index.cgi?mode=al2&namber=90244
>
> ここで質問させていただいたのですが、
このリンク先の内容にバックグラウンド処理でデータを取得している
様子が見当たりませんが、どのように処理をおこなわれているのでしょうか?
引用返信 編集キー/
■90320 / inTopicNo.3)  Re[2]: フォームを移動する時にバックグラウンドプロセスが止まってしま
□投稿者/ あびば (13回)-(2019/02/26(Tue) 11:48:02)
すいません、
間違いました
http://bbs.wankuma.com/index.cgi?mode=al2&namber=90131

こちらのページです

引用返信 編集キー/
■90321 / inTopicNo.4)  Re[1]: フォームを移動する時にバックグラウンドプロセスが止まってしま
□投稿者/ 774RR (670回)-(2019/02/26(Tue) 11:55:19)
ちょっと状況が把握できないので確認
・プログラム A はデータを連続取得して表示するが、今フォーム画面は裏にいる
・プログラム B は手前にいて、これをドラッグして移動する
・するとプログラム A の動作が一時的に停止する
ってこと? 普通はそんなことはないはずだけど。

プログラム A をドラッグすると、その間イベントループはドラッグ専用のところを回るので
System.Windows.Forms.Timer はハンドルされなくなると思ったけどそっちぢゃないんだよね?


引用返信 編集キー/
■90323 / inTopicNo.5)  Re[3]: フォームを移動する時にバックグラウンドプロセスが止まってしま
□投稿者/ Azulean (1037回)-(2019/02/26(Tue) 12:26:52)
No90320 (あびば さん) に返信
> http://bbs.wankuma.com/index.cgi?mode=al2&namber=90131
>
> こちらのページです

これであれば、スレッド側では Invoke と Sleep を繰り返しているだけなので、すべてメインスレッドで処理している(バックグラウンド処理にできていない)ということかと思います。
元コードもチャートに強く依存し、そのチャートが重いように見えるので簡単には解決できません。
引用返信 編集キー/
■90324 / inTopicNo.6)  Re[4]: フォームを移動する時にバックグラウンドプロセスが止まってしま
□投稿者/ あびば (14回)-(2019/02/26(Tue) 13:05:21)

自己解決しました。


バックグラウンドのプロセスの中で100 msおきにデータを、Invokeでチャートに表示していたのですが、
Invokeした中で処理を行っていたため、
フォアグラウンドの処理になっていました。

内部変数を定義した上で
バックグラウンドで全て行うようにするとうまくいきました。

解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ