プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になっております。

Form1で、いろんなデータを入力し、DBに登録するプログラムを作っています。
ある項目のみ、サブフォーム(Form2)を表示し、そこに選択の候補となるデータを表示しています。(リストボックス)
そのリストボックス選択値を、Form1のテキストボックスに代入したいのですが、その方法がわかりません。
VB.NETのお詳しい方、よろしくお願いいたします。

A 回答 (3件)

私も VB.NET は使ったことないので、VB.NET のサブフォームについてはよくわからないのですが、Access のサブフォームとよく似たものだと推測しています。


Access ではサブフォームから親フォームを参照するときは Parent が使用できました。質問の内容に当てはめると

Private Sub コマンド1_Click()
Parent.テキスト1 = リスト1.Value
End Sub

のような感じです。
VB.NET では Parent は使用できませんか?

なお、VB6 のように、Form の宣言も作成もなくいきなり
Form1.テキスト.Text1.Text = Form2.List1.Text
という記述は VB.NET では NG のようですね。
(参照:http://www.geocities.co.jp/SiliconValley-SanJose …
    • good
    • 0

Form1.text1.text=Form2.list1.text



でフォーム2のリストボックス1に書いてあるテキストを
フォーム1のテキスト1のテキストに書きかえるとしていますが、VB.NETでは通用しませんか?

変数を使わないで直接プロパティを移しているだけなのです。
普通にtext1.text="sample" とかしてますよね?

フォームが複数あったら、特定できないのでForm1.text_
1.textにしているだけなんです。

オブジェクト.メソッド.プロパティの並び方は.NETでも変わらないと思うのですが^^;
なので、textまたはcaptionがプロパティで出てくるものは、直接書きこんで値を変更する事ができます。

その他の方法はSUBで変数を参照させればよろしいかとおもいます。
    • good
    • 0

VB6.0で動くコードならば、



If List1.ListIndex >=0 Then
Form1.text1.text=Form2.list1.text
Else
Exit sub
End If

で表示ができます。
変数に入れて受け渡しした方が後々楽かもしれませんね。

VB.NETでも大幅な変更しなくて良いと思うのですが^^;
.NETのリファレンスやヘルプを用いて、デバグして
一度試して見てください。
    • good
    • 0
この回答へのお礼

Form2を表示し、Form2上のコマンドボタンを押すことにより、
Form1のテキストボックスに代入するコーディングが
わかりません。
dim f1 as Form1()
などとできれば、簡単にForm1.textbox1.text に代入できると思うのですが。。。
その辺はどうでしょうか?

お礼日時:2004/03/01 09:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!