• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB.NET スプラッシュスクリーンについて)

VB.NETでスプラッシュスクリーンを手動で閉じる方法

このQ&Aのポイント
  • VB.NET初心者がスプラッシュスクリーンを手動で閉じる方法について質問しています。
  • ShowメソッドのautoCloseパラメータをFalseに設定することでスクリーンを手動で閉じることができます。
  • CloseメソッドのfadeoutDurationパラメータをボタンクリックで設定することでスクリーンを終了することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.4

メインのFormのLoadイベントで行っても同じことだと思いますよ 普通は Applicationクラスってあんまり弄りませんからね

teruchan119
質問者

お礼

わかりました、ありがとうございました!

その他の回答 (3)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

プロジェクトのプロパティのアプリケーションタブの『スプラッシュスクリーン』に SplashScreen1を設定しているのであれば 『(なし)』に変更しましょう アプリで自動で生成するスプラッシュと Startupイベントで表示しようとするスプラッシュがぶつかってしまってエラーになっているようですよ

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

どの段階で例外がスローされるのでしょう? MyApplication_Startupの中にブレークポイントを設置してF11キーでステップ実行して原因の究明をしていただけませんか 当方では InvalidOperationException は起きておりません また 確認は VB2005で行っております 投稿する際には開発環境の状況 VS2010やVB2008などの情報もあるいいと思いますよ

teruchan119
質問者

お礼

先ほど気づいたのですが、プロジェクトのプロパティで、「アプリケーションイベントの表示」横にある「スプラッシュスクリーン」でSprashScreen1を選択していたため、エラーが生じていたようです。スクリーンが二重起動することになってしまったために生じたのではないか?との見解ですが・・・ スプラッシュスクリーンを「なし」に設定するとエラーは生じなくなりました。 しかしきちんと起動されて思ったのですが、redfox63さんが教えてくれた方法やコードと、スタートアップフォームのLoadイベントでShowDialogメソッドを使った場合の動きが同じように思えるのです。 これらは同一のものなのでしょうか?

teruchan119
質問者

補足

開発環境はVB2010です。 ステップ実行での原因究明のしかたがいまいち良く分かっていないのでredfox63さんが求めているものがこれなのかよくわかりませんが、(もし違っていたら実行結果の読み方を教えてください) splash.ShowDialog() のところでエラーが起きている様子です。

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答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はアプリケーションのプロジェクト名です ご自身の環境に合わせて修正してください

teruchan119
質問者

お礼

うわ、すみません。WPF用だと気づいていませんでした。 教えてもらった方法を試してみたのですが、InvalidOperationException はハンドルされませんでした というエラーが出てしまいます。 ヘルプを見たところ、Invoke メソッドというのを使うようですが、それでいいのでしょうか?