- 締切済み
【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にしても同じエラーが発生した なぜエラーが発生してしまうのでしょうか。 以上、よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
noname#212058
回答No.1
DirectCast(Me.Owner, Form2) の実行結果が Null だからです。 Me.Owner に何が入っているか確認したでしょうか? Me.Owner の中身が Null だったり、Form2 とは別の画面 だった場合は Cast が失敗して実行結果が Null になります。