• 締切済み

【VB.net】

フォーム1のボタンをクリックすると、フォーム2を開くと同時にフォーム2ボタンがvisible=Trueになる、というコードを書きましたが、エラーが発生します。 ---------------- Dim f As New Form2 f.Owner = Me f.Show() DirectCast(Me.Owner, Form2).Button1.Visible = True ---------------- 「nullreferenceexceptionはハンドルされませんでした オブジェクト参照がオブジェクト インスタンスに設定されていません。」 というエラーが出ます。 ・Button1の(Name)は間違いない ・Button1のvisible初期設定をTrueにしてもFalseにしても同じエラーが発生した なぜエラーが発生してしまうのでしょうか。 以上、よろしくお願い致します。

みんなの回答

noname#212058
noname#212058
回答No.1

DirectCast(Me.Owner, Form2) の実行結果が Null だからです。 Me.Owner に何が入っているか確認したでしょうか? Me.Owner の中身が Null だったり、Form2 とは別の画面 だった場合は Cast が失敗して実行結果が Null になります。

関連するQ&A

専門家に質問してみよう