
いつもココにはお世話になっております。
またよろしくお願いします。
VB.net(Visual Studio Express)を使用しています。
OSはWin7 64Bitです。
Form1にStatusStrip(名前:stsStrip1)を配置してその中にStatusLabel(名前:stsbarLabel1)がある普通のステータスバーがあります。
以下の様な処理をしているのですが、存在しないシリアルポートを設定するとWrite(sndData)で8秒間止まりますが、その間”処理中”が表示されないことが有ります。(1~2秒経って表示されることもある)
どうも、IO処理で待ちの状態になるとステータスバーの表示がうまく更新されないようなのです。
(UDP通信の時も同じ現象でした)
StatusStripの表示を即座に更新させるようなことは出来ないものでしょうか?
よろしくご享受願います。
'=======================================================
stsbarLabel1.Text="処理中"
Try
SerialPort1.PortName = "COM6" '存在しないポートを設定
SerialPort1.WriteTimeout = 8000 'タイムアウト8秒
SerialPort1.Open()
SerialPort1.Write(sndData) '送信
SerialPort1.Close()
Catch ex As Exception
エラー処理
End Try
stsbarLabel1.Text=""
'=======================================================
No.1ベストアンサー
- 回答日時:
stsbarLabel1.Text="処理中" と書いたからといって直ちに表示される訳では
ありません。
同様の現象がよく見られるのがループ中に ループカウント 等を表示した場合です。
従って、stsbarLabel1.Text="処理中" と書いた直後の行で
stsStrip1.Refresh()
又は、
Application.DoEvents()
を実行して、強制的に書き換えて見て下さい。
但し、ループ中 に強制的に書き換え処理を頻繁に行うと画面がちらつく事に
なり別の対策が必要になります。
因みに、VB.net(Visual Studio Express)を使用しています。 では通じません。
Visual Basic のバージョンを明記するなら正確に書いて下さい。
VBのバージョン・製品名の一覧
http://hanatyan.sakura.ne.jp/patio/read.cgi?mode …
ありがとうございます!
お陰様で問題をクリアすることが出来ました。
具体的には、Refresh()はStatusStripコントロールには使えないようでして、
Application.DoEvents()を使用することで解決出来ました。
>但し、ループ中 に強制的に書き換え処理を頻繁に行うと画面がちらつく事に
>なり別の対策が必要になります。
今回の場合はループの中で使用することは無いので大丈夫でしたが、覚えておきます。
>因みに、VB.net(Visual Studio Express)を使用しています。 では通じません。
>Visual Basic のバージョンを明記するなら正確に書いて下さい。
仰るとおりです。バージョンを書くのを忘れておりました…
以後気をつけます。
ちなみにバージョンは、Visual Studio 2013(Ver12)です。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ToolStripStatusLabelを固定して配置したい。
Visual Basic(VBA)
-
エクセルStatusBar表示が変化しない
Excel(エクセル)
-
VB.NETで他のプロジェクトで作成したフォームを使う方法
Visual Basic(VBA)
-
-
4
データグリッドビューの一番最初の行に列を追加したい
Visual Basic(VBA)
-
5
DataGridViewの特定列に入力されている重複チェックをしたい
Visual Basic(VBA)
-
6
DataGridViewの、選択されている行を取り出したい
Visual Basic(VBA)
-
7
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
8
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
9
フルパスから最後のディレクトリ名を取得したい。
Visual Basic(VBA)
-
10
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
11
VB.NET でのLaod/unLoad について
Visual Basic(VBA)
-
12
System.IO.Directory.GetFilesの順番
Visual Basic(VBA)
-
13
ColorをRGBで指定する方法
Visual Basic(VBA)
-
14
同じソリューション内の別のプロジェクトのメソッド呼び出し
C言語・C++・C#
-
15
【C#】DataGridViewの最大列数について
システム
-
16
DataGridViewで行の展開みたい事がしたい
Visual Basic(VBA)
-
17
DateTimePickerでに年月までしか選択できないようにしたいです。
Visual Basic(VBA)
-
18
C# 超初心者です。 this.Refresh();という文を使いたいです
C言語・C++・C#
-
19
Visual studio2017で、2回目のビルド時、exeファイルが開けない旨のエラーとなる
C言語・C++・C#
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
private subモジュールを他のモ...
-
特定の名前のオートシェイプの...
-
【C#】Page_Loadさせない方法に...
-
どう増強すべきか
-
シェルスクリプトでファイル内...
-
【VBA】エラー処理で別プロシー...
-
VB.NET SPRED(チェックボック...
-
順番に処理させたい
-
VBAでBook読み込み時の非表示方...
-
Excel VBA セルの名前があるか...
-
特定のファイルを他のプロセス...
-
シグナル 6(SIGABRT)とは?
-
入力した値が不正というよりイ...
-
VBA For Each 〜 複数条件について
-
途中で処理を中断させたい (ア...
-
C# 指定時間(秒間)の間処理を...
-
vbaのエラー対応(実行時エラー...
-
VisualBasic6でドラック&ドロ...
-
エクセル画面のちらつきなくす...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
private subモジュールを他のモ...
-
vbaのエラー対応(実行時エラー...
-
シグナル 6(SIGABRT)とは?
-
IF文に時間(何時から何時ま...
-
マクロで、次のコードへ行く前...
-
Excel VBA セルの名前があるか...
-
どう増強すべきか
-
特定の名前のオートシェイプの...
-
途中で処理を中断させたい (ア...
-
特定のファイルを他のプロセス...
-
順番に処理させたい
-
Word VBA。各マクロの間に待ち...
-
StatusStripの表示が更新されな...
-
ドリブン??
-
ExcelのVBAで、選択したファイ...
-
RaiseEventのメリット
-
【VBA】エラー処理で別プロシー...
-
エクセルVBAでロックをかけたい
-
どうやってもFor文を抜けてしま...
おすすめ情報