VB2008EE を使っています。まだ素人レベルですが宜しくお願いします。
大元のフォーム frmxx0 から
frmxx1.ShowDialog()
で新しいフォームを表示します。
このフォームfrmxx1からであれば
frmxx1.textbox1.text="あ"
みたいに書き込めるのですが
さらにここから
frmxx2.ShowDialog()で2ページ目を開いて
このフォームからfrmxx1.textbox1.text="あ"
としても書き込んでくれません。
エラーにもならないです。
frmxx0を開かないでfrmxx01からfrmxx2.ShowDialog()で1ページ目を開いて、ここからfrmxx1.textbox1.text="あ"は書き込めます。
何か?やり方おかしいでしょうか?
説明が不十分かもしれません。ご理解いただければ幸いです。
No.2ベストアンサー
- 回答日時:
こんにちは。
.NETをやるのであれば、まずインスタンスについてよく勉強して理解した方が良いと思います。
今回の場合は、form1.ShowDialog(Me) と記述する事によってform1の暗黙のインスタンスが生成されているので、アクセス出来るようになったのです。
------------------------
Dim frm As New form1
frm.ShowDialog(Me)
------------------------
上記のように自前でインスタンスを生成して呼び出し元のFormにアクセスするには、Ownerプロパティを使用します。
この場合ですと、
DirectCast(Me.Owner, form0).Text = "あ"
をform1に記述すれば、呼び出し元のFormにもアクセス出来ると思います。
私は後者の方法を使用しています。
ちなみに、Dimで宣言しているかどうかはここでは関係ないです。
Korinさんこんにちは。
ご回答ありがとうございます。
インスタンスについて勉強が必要のようですね。
私の今までの概念とたいぶ違うみたいです。
今から頑張ってみます。
色々できるのですね。とても「難しい」ですが面白いです。
Ownerプロパティの方は早速試してみます。
本当にありがとうございました。
No.1
- 回答日時:
いまやってみましたが、書き込めます。
もう少し補足が必要では?
ご回答ありがとうございます。
書き込みが出来たとの事で、私も大きなヒントになりました。
説明が不十分でしたのでご説明します。
*******************************************************
Dim frm As New form01 '新しく展開するフォーム
'指定したフォームに引数を渡す(渡す数字)
frm.SetFilter(1) '
frm.ShowDialog(Me) 'ここで最初のフォームを展開してます。
********************************************************
わかった事は、最初の呼び出し元(親)のフォームにはテキストBOXへの書き込みは出来ました。
しかし、2階層目以降から書き込めるのは自分のフォームと大元のフォームのみでした。
試しに上行の、引数を渡すのは問題なくできました。
結局、変数定義をせずに
form1.ShowDialog(Me)
にすることで解決しました。
ありがとうございました。
なぜ? なのかが不明です。
Dim定義は既に多く使っているので・・不安です。
理由がお解かりでしたら、ご指導頂けると嬉しいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) ボールの動きがスムーズに動いてかつ目盛り線描画を維持するためには 4 2023/05/31 10:01
- その他(プログラミング・Web制作) Pythonによる物理の斜方投射の位置座標表示について 2 2023/06/05 12:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
- その他(プログラミング・Web制作) Pythonでのかんたんな物理シミュレーションについての書籍 5 2023/06/02 07:37
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/20 10:00
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- 数学 写真の図は中心(a,b)半径rの円とその円周上の(x1,y1)における接線lと円の中心とlを結ぶ任意 4 2023/08/08 16:20
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/20 14:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで大量のファイルをシート名...
-
Vba 実数および実数タイプの変...
-
エクセルVBAについて
-
ユーザーフォームに別シートか...
-
VB.net(VB)で、フォームにExcel...
-
Excelのマクロについて教えてく...
-
エクセルの合計を自動で表示さ...
-
Excelのマクロでワードのテキス...
-
VBAの計算で@が出てしまう件
-
VBA listBoxから
-
エクセルのマクロについて教え...
-
Excelのマクロについて教えてく...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
左右の表のキー位置を合わせたい
-
VBAの質問になります メッセー...
-
Excel マクロについての相談
-
VBA レジストリの値の読み方に...
-
2つのマクロでチェックボックス...
-
Vba SelStart、SelLen教えてく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA 定義されたプロージ...
-
Excel-VBAのmsgBox()の不思議
-
【VBA】マクロの入ったファイル...
-
VBA 複数条件の分岐処理の上手...
-
現在のブックを閉じないで、マ...
-
VBAで各列の"+"と"o"の合計数を...
-
VBAに詳しい方教えてください。
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ユーザーフォームに別シートか...
-
エクセルのマクロについて教え...
-
ExcelVBA シート名を複数セルか...
-
エクセルのマクロについて教え...
-
VBA listBoxから
-
Excelのマクロについて教えてく...
-
エクセルのマクロについて教え...
おすすめ情報