DOBON.NETプログラミング掲示板過去ログ
MDI 子フォームから親フォームのテキストボックスを変更
題名: MDI 子フォームから親フォームのテキストボックスを変更
著者: コアラ
日時: 2003/10/31 23:14:10
ID: 1258
この記事の返信元:
(なし)
この記事への返信:
[1262]
Re[1]: MDI 子フォームから親フォームのテキストボックスを変更
よねKEN
2003/11/01 7:18:53
ツリーを表示
分類:[.NET]
2003/10/31(Fri) 23:17:08 編集(投稿者)
はじめまして。コアラと申します。
vb.net初心者でありまして、恐縮なのですが、
質問させてください。
Mdiフォームの子フォームより親フレームにあるテキストボックスの
内容を書き換えるような仕組みを組み込みたいと思っております。
具体例でご説明いたしますと、
Form1をIsMdiContainer を trueにして
Form1にtextbox1 とbutton1 を配置。
textbox1のModifiers に public変更。
form1のbutton1Clickに
Dim NewMDIChild As New Form2()
NewMDIChild.MdiParent = Me
NewMDIChild.Show()
と書き、form2を子フォームとして表示できるようにしました。
form2には、button2を配置し、button2Clickに
Dim main As New Form1()
main.TextBox1.Text = "aaa"
と書き、form2のbutton2を押したら、親フォームであるform1の
textbox1がaaaと書き換わるつもりが・・・
「追加情報 : オブジェクト参照がオブジェクト インスタンスに設定されていません。」
とエラーが出まして・・・
newを取ったりしてみたりしたのですが・・・
初心者ゆえに 何がなんだか??で困っております。
ちなみに、form2のbutton2Clickに
MdiParent.Text = "a!" と書いてみると、親フォームのタイトル文字が
a! と書き換わるのですが、MdiParent.Textbox1.text="aaa"とは
書けません。強引に書いてみても「TextBox1はsystem.windows.forms.formのメンバではありません。」
と波波表示され 怒られちゃいます。
私自身勉強不足な点も自覚しているのですが、どうにも困っております。
諸先輩方々からのアドバイスを頂きたく。
宜しくお願いします。
題名: Re[1]: MDI 子フォームから親フォームのテキストボックスを変更
著者: よねKEN
URL:
http://www5b.biglobe.ne.jp/~yone-ken/
日時: 2003/11/01 7:18:53
ID: 1262
この記事の返信元:
[1258]
MDI 子フォームから親フォームのテキストボックスを変更
コアラ
2003/10/31 23:14:10
この記事への返信:
[1269]
Re[2]: MDI 子フォームから親フォームのテキストボックスを変更
コアラ
2003/11/01 11:56:09
[解決]
ツリーを表示
> ちなみに、form2のbutton2Clickに
> MdiParent.Text = "a!" と書いてみると、親フォームのタイトル文字が
> a! と書き換わるのですが、MdiParent.Textbox1.text="aaa"とは
> 書けません。強引に書いてみても「TextBox1はsystem.windows.forms.formのメンバではありません。」
> と波波表示され 怒られちゃいます。
Option Strict Onに設定されているのでしょうか?
DirectCast(MdiParent, Form1).Textbox1.text="aaa"
と書いたらどうですか?
題名: Re[2]: MDI 子フォームから親フォームのテキストボックスを変更
著者: コアラ
日時: 2003/11/01 11:56:09
ID: 1269
この記事の返信元:
[1262]
Re[1]: MDI 子フォームから親フォームのテキストボックスを変更
よねKEN
2003/11/01 7:18:53
この記事への返信:
(なし)
ツリーを表示
よねKENさんへ
> Option Strict Onに設定されているのでしょうか?
>
> DirectCast(MdiParent, Form1).Textbox1.text="aaa"
>
> と書いたらどうですか?
出来ました!
DirectCast ですね。ご指摘いただいてはじめて知った言葉です。
dimかprivate,publicぐらいしか知りませんでした。
もっと精進します。
よねKENさんのwebページの「型変換の速度実験と考察」などを見て勉強させていただきます。
しかしなぜ、dimではMdiparentが定義できないのに、DirectCastだと
定義できるのでしょうか?不思議です。
何はともあれ、要望は解決いたしました。
ありがとうございました。 取り急ぎご一報まで。
解決済み!
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
2003/10/31(Fri) 23:17:08 編集(投稿者)
はじめまして。コアラと申します。
vb.net初心者でありまして、恐縮なのですが、
質問させてください。
Mdiフォームの子フォームより親フレームにあるテキストボックスの
内容を書き換えるような仕組みを組み込みたいと思っております。
具体例でご説明いたしますと、
Form1をIsMdiContainer を trueにして
Form1にtextbox1 とbutton1 を配置。
textbox1のModifiers に public変更。
form1のbutton1Clickに
Dim NewMDIChild As New Form2()
NewMDIChild.MdiParent = Me
NewMDIChild.Show()
と書き、form2を子フォームとして表示できるようにしました。
form2には、button2を配置し、button2Clickに
Dim main As New Form1()
main.TextBox1.Text = "aaa"
と書き、form2のbutton2を押したら、親フォームであるform1の
textbox1がaaaと書き換わるつもりが・・・
「追加情報 : オブジェクト参照がオブジェクト インスタンスに設定されていません。」
とエラーが出まして・・・
newを取ったりしてみたりしたのですが・・・
初心者ゆえに 何がなんだか??で困っております。
ちなみに、form2のbutton2Clickに
MdiParent.Text = "a!" と書いてみると、親フォームのタイトル文字が
a! と書き換わるのですが、MdiParent.Textbox1.text="aaa"とは
書けません。強引に書いてみても「TextBox1はsystem.windows.forms.formのメンバではありません。」
と波波表示され 怒られちゃいます。
私自身勉強不足な点も自覚しているのですが、どうにも困っております。
諸先輩方々からのアドバイスを頂きたく。
宜しくお願いします。