
開発、コンパイル環境
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
exeファイルを実行するとすぐに...
-
ACCESS VBAで別のACCESS(mdb)を...
-
アウトルックが起動しているか...
-
VBで実行中のEXEファイルの情報...
-
VBAでOutlookを終了させたい Ex...
-
HTMLタグの中にDLLを埋め込む事...
-
URLエンコード 文字数について
-
VBSでExcelのUserFormをエクス...
-
EclipseとTomcat使用時、すぐに...
-
VB.NETで参照設定したDLLの修正...
-
Designer.vbは直接コードをいじ...
-
Windows PowerShellでC言語を実...
-
[VB.net] ExcelへのQRコード出...
-
意味不明の実行時エラーで困っ...
-
「読み込み違反」が起きたとき...
-
excel vbaから実行するexe実行...
-
OLEPRO32.DLLが見つかりません
-
Javaから直接プリンターへ印刷...
-
ウェーブレット変換に関して
-
ManagementClassが見つからない。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでOutlookを終了させたい Ex...
-
VBSで起動したアプリが前面表示...
-
VBSから別のVBS起動するとき変...
-
アウトルックが起動しているか...
-
Process.Startで起動したアプリ...
-
Windows上のプログラム。「予め...
-
VBで実行中のEXEファイルの情報...
-
exeファイルを実行するとすぐに...
-
ACCESS VBAで別のACCESS(mdb)を...
-
WinSCPで画像のように puttyを...
-
VBAでSeleniumからChromeを起動...
-
フォームの最前面が効かない
-
VB6で呼び出し元の情報を取得す...
-
同じIEのウィンドウで、リンク...
-
gccプログラムで複数の実行ファ...
-
アプリからVB(Form)
-
VBSでExcelのUserFormをエクス...
-
VBからExcelに書き込む方法
-
Notepad起動のイベントでEXC...
-
C# 他のアプリケーションを優先...
おすすめ情報