
いつもお世話になっております。
以下の疑問点が出ています。
どなたか答えをご存知の方がおりましたらご回答願います。
[現象]
Form1からForm2を呼び出し、Form1をhideしても
Form1が隠れない。
[条件]
Form1のボタンをクリック後、すぐに何でもいい(フォルダを開いたウィンドウとか)のでウィンドウを最前面に表示してください。
[プログラム]
--form1--
Private Sub Command1_Click()
On Error GoTo ERROR_END
Screen.MousePointer = vbHourglass
'請求書作成画面に移行
Form2.Show
Screen.MousePointer = vbDefault
Exit Sub
ERROR_END:
Screen.MousePointer = vbDefault
MsgBox Error(Err)
End Sub
Private Sub Form_Load()
Me.Show
Screen.MousePointer = vbDefault
End Sub
--form2--
Private Sub Form_Load()
Dim i, strsql
For i = 0 To 50000000
strsql = "時間稼ぎ"
Next
Me.Show
Form1.Hide
Screen.MousePointer = vbDefault
End Sub
[Form]
Form1にコマンドボタンを一つ配置するだけでOKです。
[環境]
WinXP SP1
VB6.0 SP6
[その他]
WIN98ではこの事象は起こらないと報告受けてます。
バグならばバグと、PGミスならミスと明確に答えていただけると大変助かります。
どうぞよろしくお願いします。
No.1ベストアンサー
- 回答日時:
VB6.0(SP5)でやってみましたが、いちおう動作しています。
ただし・・・For i = 0 To 50000000
strsql = "時間稼ぎ"
Next
で1分以上かかります。DoEvents が入っていないので、その間操作が出来ません。
Form1 を非表示にするには、Form1でForm2を表示した後に行っても良いと思います。(Form2でForm1を閉じません)
請求書作成画面に移行
Form2.Show
Screen.MousePointer = vbDefault
Form1.Hide
Exit Sub
ご回答ありがとうございます。
>For i = 0 To 50000000
については根拠のある数値ではありません。
ただ、表示するまでに時間をかけたいから空回ししているだけなので。。。
>その間操作が出来ません
については、画面下にあるバーから開いている
フォルダを表示していただくだけなので、今の段階では問題ないと考えています。
参考に示していただいたプログラムなのですが、
実際はそのように作成して、この現象が起こってしまったので、分かりやすくするために上記のように展開して掲載させて頂きました。
No.2
- 回答日時:
Win2k/6.0Sp5ですが、全く問題ないです(^^;
一応コンパイルしてexeでも試しましたが・・・
気になることがいくつかあったので。
1.LoadイベントにMe.Showは不要
FormをShowすることでLoadをしているので、不要だと思います。
2.#1さんがおっしゃっている通り、隠すタイミングがForm2の表示直後なのであれば、Form1側でMe.Hideとすべきです。
Form1.Hideとするとややこしくなるので止めたほうが良いですね。もし、Form1がロードされていない(いてはいけない)状況では、このメソッドでインスタンスが作成されてしまいますから。
コードを見る限り「Formの暗黙のインスタンス」についてよく理解されていないように思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 九九の答えの計算 3 2022/12/20 22:13
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6.0で、フォームから、別のフ...
-
チェックボックスの制御(onCli...
-
ラベルでの移動でテキストの受...
-
DataTableの件数を取得したい
-
SharedObjectについて
-
onRollOverの使い方が分かりま...
-
Flash(ActionScript3.0)
-
変数の利用方法
-
全てのテキストボックスをセル...
-
photoshopで書いた四角の枠の中...
-
VBAのGoToControl について
-
変数に256文字以上のテキストを...
-
Flashで恋愛ゲームを作りたいの...
-
テキストボックスの中身をリセ...
-
VBAで改行の入ったデータの正規...
-
エディットボックス内での追記
-
ここのサイトみたいなフラッシ...
-
Flash Communication Serverか...
-
flashでのシンボルとインスタンス
-
アクションスクリプトで
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VB.NET】別Formのボタンが押...
-
VB6.0で、フォームから、別のフ...
-
CreateDialogについて
-
DataTableの件数を取得したい
-
「Me」を「Form1」にするとエラ...
-
【ActionScript】コンボボック...
-
ウインドウハンドルとインスタ...
-
ActionScript2.0でインスタンス...
-
Flashの画面をJPEG画像にしてメ...
-
モーションするシンボルの通っ...
-
画像を一定時間ごとに切り替え...
-
iPhoneアプリ開発 Viewについて
-
loadMovieをサイズを変えて読み...
-
カーソルを手に変更
-
VB6.0のHideのバグ?
-
SharedObjectについて
-
インスタンスとポインタ
-
フォームの生成と破棄
-
buttonの色を変えたい
-
携帯Lite1.1用のプログラム
おすすめ情報