C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[3]: フォームが表示される前にコードを実行
(過去ログ 158 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 5 記事 (1 - 5 表示)] <<
0
>>
■91674
/ inTopicNo.1)
フォームが表示される前にコードを実行
▼
■
□投稿者/ ハンター
(3回)-(2019/07/19(Fri) 13:22:43)
分類:[.NET 全般]
プログラム起動時に
ユーザー名やドメイン名を調べて
登録されたものでなかったら
エラーメッセージを表示して、
プログラムを終了したいのですが、
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
Application.Exit()
End Sub
と書いても一瞬だけフォームが表示された後に
プログラム終了となってしまいます。
フォームが表示される前にコードを実行するにはどのようにしたら良いですか?
引用返信
編集キー/
編集
■91675
/ inTopicNo.2)
Re[1]: フォームが表示される前にコードを実行
▲
▼
■
□投稿者/ Hongliang
(845回)-(2019/07/19(Fri) 13:38:32)
アプリケーションフレームワークが有効であれば(既定で有効です)、プロジェクトのプロパティからアプリケーションタブの中にある「アプリケーションイベントの表示」ボタンでApplicationEvents.vbを開くことができます。
ここでOnStartupをOverridesして、必要な判定コードを記述し、最終的に起動させないとなった場合にFalseを返すようにすればいいです。
引用返信
編集キー/
編集
■91676
/ inTopicNo.3)
Re[1]: フォームが表示される前にコードを実行
▲
▼
■
□投稿者/ 魔界の仮面弁士
(2249回)-(2019/07/19(Fri) 13:43:44)
■
No91674
(ハンター さん) に返信
> フォームが表示される前にコードを実行するにはどのようにしたら良いですか?
プロジェクトのプロパティの[アプリケーション]タブを開き、
[アプリケーション イベントの表示]ボタンを押します。
すると、ApplicationEvents.vb ファイルが開きますので、
MyApplication クラスの Startup イベントを記述します。
' このイベントは、スタートアップフォームが起動する前に呼ばれます。
' イベント引数 e.CommandLine から、コマンドライン パラメーターを得ることも出来ます。
Private Sub MyApplication_Startup(sender As Object, e As StartupEventArgs) Handles Me.Startup
If Not 登録済み判定() Then
Call エラーメッセージ表示処理()
'Trueをセットすると、スタートアップフォームの
'呼びだしは行われず、そのままアプリが終了します。
e.Cancel = True
End If
End Sub
もしくは、[アプリケーション フレームワークを有効にする] のチェックを外し、
自前で用意した Main メソッドから始めるという手もありますが、
VB の場合は Starup イベントを用いた方が手っ取り早いでしょう。
引用返信
編集キー/
編集
■91683
/ inTopicNo.4)
Re[2]: フォームが表示される前にコードを実行
▲
▼
■
□投稿者/ ハンター
(4回)-(2019/07/20(Sat) 12:42:20)
うまくいきました
どうもありがとうございました。
引用返信
編集キー/
編集
■91684
/ inTopicNo.5)
Re[3]: フォームが表示される前にコードを実行
▲
▼
■
□投稿者/ 33
(2回)-(2019/07/20(Sat) 12:42:24)
■
No91683
(ハンター さん) に返信
> うまくいきました
>
> どうもありがとうございました。
>
>
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-