開発、コンパイル環境
VB.net 2008
ターゲットCPU:x86
Framework2.0
OS:Windows7
上記で作成したアプリで、
1、自作フォーム(Form1)をスタートアップオブジェクトに指定
2、参照設定に他社作成DLL(FormTest1含)を追加
3、Form1からFormTest1を起動
ボタンクリックイベント
Dim frm As New FormTest1
frm.TopMost = True
frm.Show()
おおむね上記のようなことを行っています。
問題は、自作アプリの起動後1回目の「FormTest1」起動だけ「Form1」の後ろに立ち上がります。
2回目以降は「Form1」の前面に立ち上がります。←これが希望しているの動作です。
実行PCはWindows7です。
散々調べたのですが解決策が見つかりませんでした。
この問題に解決策はあるのでしょうか?
どなたかご存じでしたらご教授願います。
No.3ベストアンサー
- 回答日時:
> Dim frm As New FormTest1
をボタンクリックイベント内でなくパブリックにしておいてメイン等で定義し、イベントの中で
frm.TopMost = True
frm.Show()
を行うではどうでしょうか。
Newが完了する前にTopMostが指定されていて最初は間に合わないような気もします。
あるいは
frm.Show(Me)
ではどうなるでしょうか。
>frm.Show(Me)
オーナーフォーム指定の場合はたまにうまくいかない時があります。再現性はありません。わけがわかりませんが実際そうなのでなんともトホホです。
>Newが完了する前に・・・
これは初耳ですのでこちらで調べていこうと思います。
ありがとうございました。
No.2
- 回答日時:
FormTest1が外部DLLであることが気になっております。
おそらくこちらはいじれないと推測して回答する必要があるのでしょうね…。---
(1)frm.TopMost = True
(2)frm.Show()
(1)(2)を逆にするとどうなりますか?
(2)frm.Show()
(1)frm.TopMost = True
---
この回答への補足
ありがとうございます。
そうです「FormTest1」はいじれません。
>(1)(2)を逆にするとどうなりますか?
同じですね。
2回目は正常にうごきます。
No.1
- 回答日時:
解決策になるかどうか判りませんが。
FormTest1のLoadに
Me.TopMost = true
を入れる。
あるいは下記が参考になるかも。
http://dobon.net/vb/dotnet/form/ownedform.html
モードレスのフォームが、あるフォームの背後に隠れないようにする
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Windows 10 再起動後 Pinが使用できず、PC(windows11)にサインインできない 3 2022/08/30 20:53
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBで実行中のEXEファイルの情報...
-
VBAでOutlookを終了させたい Ex...
-
分かる人は簡単なのだろうが、v...
-
アウトルックが起動しているか...
-
Eclipseでjavascriptが動かない
-
MSDOS(バッチファイル)でプロセ...
-
Vba アプリケーションが立ち上...
-
exeファイルを実行するとすぐに...
-
VBで別のプログラムを起動し他...
-
二重起動禁止にする理由とは
-
ウィンドウを終了させたい・・・
-
VBSで起動したアプリが前面表示...
-
VBAでSeleniumからChromeを起動...
-
WinSCPで画像のように puttyを...
-
VB6で呼び出し元の情報を取得す...
-
EXCEL VBAから他アプリケーショ...
-
vba 時間の引き算 例えば 15:00...
-
Designer.vbは直接コードをいじ...
-
Visual Studio 「AnyCpu」について
-
意味不明の実行時エラーで困っ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アウトルックが起動しているか...
-
WinSCPで画像のように puttyを...
-
VBSから別のVBS起動するとき変...
-
Windows上のプログラム。「予め...
-
VBAでOutlookを終了させたい Ex...
-
VBで実行中のEXEファイルの情報...
-
VBSで起動したアプリが前面表示...
-
Process.Startで起動したアプリ...
-
EXCEL VBAから他アプリケーショ...
-
64bitで作ったEXEを32bitで起動...
-
exeファイルを実行するとすぐに...
-
リムーバブルディスクのフォー...
-
VB6で呼び出し元の情報を取得す...
-
VBAでIEが起動しているか...
-
フォームの最前面が効かない
-
VBAでSeleniumからChromeを起動...
-
エクセル起動時別プロセスで開く
-
VBSでExcelのUserFormをエクス...
-
ACCESS VBAで別のACCESS(mdb)を...
-
別アプリの起動、終了について
おすすめ情報