
.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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CloseとDisposeの違い
-
C# 超初心者です。 this.Refres...
-
どういうプログラムで組みます...
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
VBA エンターキーでイベントに...
-
VBAでループ内で使う変数名を可...
-
Googleフォーム・複数人の申し...
-
【Excel】特定の文字を含むセル...
-
メルカリのメルカードで買い物...
-
Excelシート上のマクロを登録し...
-
VBAでCOPYを繰り返すと、処理が...
-
エクセルVBAで、MsgBox やInput...
-
UPS警告音を止めたい
-
FFTの結果ついて
-
フォームコントロールから作っ...
-
月度は何て読みますか?
-
EXCEL VBA マクロ 実行する度に...
-
エクセルの画面にユーザーフォ...
-
インタラクティブの反対語は?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CloseとDisposeの違い
-
C# 超初心者です。 this.Refres...
-
ソフトの組み方は文法書を読ん...
-
フィールド(メンバ変数)のプリ...
-
[C#]FormクラスのShowメソッド...
-
VB.NET スプラッシュスクリー...
-
cocoaアプリで悩んでます。
-
コールバックでイベントを使う...
-
objective-cにはCのような関数...
-
Excelvba2000でExcelファイル間...
-
VBの文法について質問です。
-
どういうプログラムで組みます...
-
C#のインスタンスを参照渡ししたい
-
クラスの実体を一つにする方法
-
wpfスタイル内でのイベント設定
-
OCXのメソッドの引数に文字列を...
-
objective-C(Xcode)に関して...
-
Visual Studio 2005 での既存...
-
objective-cで終了時に処理
-
C# HAPで属性を追加後、OuterText
おすすめ情報