![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.1ベストアンサー
- 回答日時:
仕様かバグかといわれたら、仕様だ。
Visual Basic 6だろうと、VB.NETだろうとC#だろうと、普通にプログラムを作るとそれは「シングルスレッドアプリケーション」になる。
シングルスレッドを簡単に説明すると、そのプログラム中で動作をしているポイントが1つしかないという事だ。
もっと簡単に言えば、TimerイベントやCommandButton_Clickイベントは同時に一つしか呼ばれない。つまり、あるイベントが実行されている間、他のイベントが到達しても待機状態になっているわけだ。
「じゃあマルチスレッドにしないといけないの?」
MsgBoxで止まっている場合はその通り。この時、プログラムからは(Win32APIを駆使しない限り)別の処理を実行できない。プログラムが、完全に「MsgBox終了待ち」で止まっている。これを回避するには、メッセージボックスのようなフォームを自前で作り、それを表示するようにしないといけない。
余談だが、MsgBoxで止まっている訳ではない場合、VB6も、VB.NETも、C#も、シングルスレッドの状態で複数イベントを同時に実行する機能を備えている。DoEventsというものだ。これに関してはネットなどで使い方を調べると良いだろう。前述の通り、MsgBoxで止まっている場合はこのDoEventsは使えない。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA ユーザーフォーム 複数のユーザーフォームの閉じ方。 2 2022/04/27 11:29
- その他(プログラミング・Web制作) VBSでExcelファイル起動時、重複しても開くのを止めたい 1 2022/10/01 23:20
- Visual Basic(VBA) VBAユーザーフォームでテキストボックスについて。 1 2022/05/31 12:23
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Access(アクセス) Access の SetFocus について教えてください 5 2022/08/04 07:32
- Excel(エクセル) エクセルVBA Msgboxでの変数の活用 4 2023/07/23 08:33
- Excel(エクセル) エクセルVBA マクロ処理中のポップアップメッセージについて 1 2023/08/04 21:34
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
きれいなVBプログラミング
-
API、OCX、DLLって何でしょう?
-
コンソールアプリでファイル選...
-
UNIX環境でのCプログラム上でC...
-
ランチャーの作り方について教...
-
VBプログラムをEXCEL VBAに移植...
-
OSとCPUの関係について
-
Ryzen 3700(無印)はWin11に対応...
-
.Net とは何ですか?
-
PICのI2C通信のプログラムについて
-
1年無職の彼氏 別れるべきですか?
-
キャリアが袋小路に
-
HTML 特殊文字の タブ:	...
-
衛星管理者受験について
-
文字が消える?
-
機械工学専攻の院卒でSEになる...
-
6~7割の正解で、なぜ合格?
-
仕事でExcelほとんど使わないん...
-
IE6でaタグのvisitedより、aタ...
-
ホームページで画像を動かしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
API、OCX、DLLって何でしょう?
-
VBプログラムをEXCEL VBAに移植...
-
C言語のHP-UXからLinuxへのポ...
-
OSとCPUの関係について
-
コンソールアプリでファイル選...
-
SNMPトラップ情報をC#.netで作...
-
WEBページに読み書きするプログ...
-
変数の大きさを超える代入
-
Perl5とActivePerl
-
UNIX環境でのCプログラム上でC...
-
.Net とは何ですか?
-
3ウェイハンドシェイクの流れ...
-
i,j,k
-
DLLってなに?
-
VBS:コンピュータ名を取得し、...
-
Ryzen 3700(無印)はWin11に対応...
-
CGIとは?
-
プログラミング 素数か素数では...
-
プログラマやシステムエンジニ...
-
このプログラミング誰か教えて...
おすすめ情報