
.NET初心者です。
スプラッシュスクリーンについてお尋ねします。スクリーンを自動で閉じるのではなく、手動で(ボタンのクリックで)閉じるようにしたいのですが、
http://msdn.microsoft.com/ja-jp/library/cc681209 …、
http://msdn.microsoft.com/ja-jp/library/system.w …によると
ScreenSprashのShowメソッドでautoCloseをFalseにすれば手動でスクリーンを閉じることが出来ると書いてあるのですが、これはApplicationEvents.vbに書き込めば良いのでしょうか?それともスクリーンにでしょうか?
また、Showメソッドの使い方も良く分かりません。
構文がPublic Sub Show(ByVal autoClose As Boolean)としてあったので、ためしに
Public Sub Show(ByVal autoClose As Boolean)
autoClose = False
End Sub
としてみました。案の定ですが動きません。
もう一つ、Closeメソッドの構文を見ると
Public Sub Close ( _
fadeoutDuration As TimeSpan _
)
と、時間制がとられているのですが、これをタイムスパンではなくボタンクリックでスクリーンを終了するようにしたいのですが、このメソッドで出来るのでしょうか?
スプラッシュスクリーンを使用することが先方の要望のため代替作戦が利かず、かつ調べても使用例が出てこなくて困ってます。あってもC言語でした。
No.3
- 回答日時:
プロジェクトのプロパティのアプリケーションタブの『スプラッシュスクリーン』に SplashScreen1を設定しているのであれば 『(なし)』に変更しましょう
アプリで自動で生成するスプラッシュと Startupイベントで表示しようとするスプラッシュがぶつかってしまってエラーになっているようですよ
No.2
- 回答日時:
どの段階で例外がスローされるのでしょう?
MyApplication_Startupの中にブレークポイントを設置してF11キーでステップ実行して原因の究明をしていただけませんか
当方では InvalidOperationException は起きておりません
また 確認は VB2005で行っております
投稿する際には開発環境の状況 VS2010やVB2008などの情報もあるいいと思いますよ
この回答への補足
開発環境はVB2010です。
ステップ実行での原因究明のしかたがいまいち良く分かっていないのでredfox63さんが求めているものがこれなのかよくわかりませんが、(もし違っていたら実行結果の読み方を教えてください)
splash.ShowDialog()
のところでエラーが起きている様子です。
先ほど気づいたのですが、プロジェクトのプロパティで、「アプリケーションイベントの表示」横にある「スプラッシュスクリーン」でSprashScreen1を選択していたため、エラーが生じていたようです。スクリーンが二重起動することになってしまったために生じたのではないか?との見解ですが・・・
スプラッシュスクリーンを「なし」に設定するとエラーは生じなくなりました。
しかしきちんと起動されて思ったのですが、redfox63さんが教えてくれた方法やコードと、スタートアップフォームのLoadイベントでShowDialogメソッドを使った場合の動きが同じように思えるのです。
これらは同一のものなのでしょうか?
No.1
- 回答日時:
お示しのURLの内容は WPFのものですが 大丈夫でしょうか?
.NETのWindowsFormアプリですと別のアプローチになりますよ
WPFのSplushScreenクラスですとイメージファイルを指定して構築となっているのでボタンの追加などが出来ないみたいですよ
WindowsFormの場合新規の項目の追加で『スプラッシュスクリーン』を追加します
このフォーム上にボタンを追加して Clickイベントに
DialogResult = DialogResult.OK
Me.Close()
を記述します
プロジェクト > 『プロジェクト名』のプロパティ > アプリケーションタブ の下部の『アプリケーションイベントの表示』をクリック
(全般)を(MyApplicationのイベント)に変更
Startupを選択
dim splash as SplashScreen1 = Global.VBEX002.SplushScreen1
slpush.ShowDialog()
と記述
SplashScreen1 = Global.VBEX002.SplushScreen1
の SplashScreen1は スプラッシュスクリーンの追加を行ったときのクラス名です
VBEX002はアプリケーションのプロジェクト名です
ご自身の環境に合わせて修正してください
うわ、すみません。WPF用だと気づいていませんでした。
教えてもらった方法を試してみたのですが、InvalidOperationException はハンドルされませんでした
というエラーが出てしまいます。
ヘルプを見たところ、Invoke メソッドというのを使うようですが、それでいいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) エクセル VBAについて 2 2022/05/16 16:33
- Visual Basic(VBA) 標準モジュール Public mOnTime As Date Sub sample() '実行プロシ 1 2023/02/22 15:44
- Excel(エクセル) エクセル VBA実行中のApplication.ScreenUpdatingについて 3 2023/07/13 21:06
- Visual Basic(VBA) シートをコピーする下記記述でダイアログを用いた記述がわかりません?( A = Dir(ThisWor 4 2022/08/22 12:26
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CloseとDisposeの違い
-
フィールド(メンバ変数)のプリ...
-
objective-cにはCのような関数...
-
「ご処理進めて頂きますようお...
-
【Excel】特定の文字を含むセル...
-
エクセルで、日付を入力すると...
-
Excelシート上のマクロを登録し...
-
Accessのフォーム上にエクセル...
-
お家デートをしててハグを長い...
-
「PC Helpsoft Driver Updated...
-
エクセルVBAで、MsgBox やInput...
-
アクセスVBAのMe!と[ ]
-
月度は何て読みますか?
-
VBA エンターキーでイベントに...
-
UMLでの例外処理
-
VBの質問#if 0 then ってどう...
-
アクセス全くの初心者です。A...
-
UPS警告音を止めたい
-
Googleフォーム・複数人の申し...
-
Excel ラジオボタンのリセット...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CloseとDisposeの違い
-
C# 超初心者です。 this.Refres...
-
[C#]FormクラスのShowメソッド...
-
VB.NET スプラッシュスクリー...
-
VC++クラス間のアクセス
-
フィールド(メンバ変数)のプリ...
-
C#のインスタンスを参照渡ししたい
-
vb.net フォームアプリケーシ...
-
Objective-c 画面遷移について
-
DLL内のイベントをハンドリング
-
どういうプログラムで組みます...
-
objective-C(Xcode)に関して...
-
コールバックでイベントを使う...
-
Javaのあれやこれや
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
Excelシート上のマクロを登録し...
-
VBA エンターキーでイベントに...
-
エクセルVBAで、MsgBox やInput...
-
VBAでループ内で使う変数名を可...
おすすめ情報