ダイアログボックスから親フォームのパブリックデータにアクセスする方法として、ヘルプ検索すると「Form.ParentFormプロパティを使用する方法例」として下記のようなコードが紹介されています。
--【ヘルプ記載のコード(Textプロパティにアクセスしています)】--
Public Sub GetParentText()
Dim x As String
x = CType(Me.ParentForm, Form1).Text
End Sub
-----------------------【以上】-------------------------------
しかし、このコードを実行すると「オブジェクト参照がオブジェクトインスタンスに設定されていません」とのエラーが出ます。
ダイアログボックスは'myForm.ShowDialog(Me)'メソッドで開いています。ちなみにこのヘルプはモードレス用の内容なのかとも思い、Form1のIsMdiContainerプロパティを'True'に設定し、'myForm.Show()'で試してもみましたが、どうも違うようです。現在どこに不備があるのかわからないでいます。
メーカーヘルプのためコード自体は問題ないと思います。おそらく私の読み間違い等があるのだと思います。どこが間違っているのかどなたかご指摘いただけないでしょうか。よろしくお願いします。
実はこの掲示板に掲示する前、誤って「VB2-6専用掲示板」に掲示してしまったのですが、そこへいただいたやじゅさんのアドバイスを試してみたところうまくいきました。解決したコードは下記の通りです。
やじゅさんありがとうございました。
-----------【解決したコード】--------------
Public Sub GetParentText()
Dim x As String
x = CType(Me.Owner, Form1).Text
End Sub
----------------【以上】-------------------
ツイート | ![]() |