VB2005でフォーム1からフォーム2に変数を送るには?


さなぎちゃん  2009-05-28 03:57:03  No: 145939

フォーム1のリッチテキストボックスにある
数値を
フォーム2の変数に送りたいのですがどうしたら
いのでしょうか?
教えてもらえないでしょうか?


  2009-05-28 06:22:34  No: 145940

Form1にリッチテキストボックスの値を返すメソッドなりプロパティなりを実装すれば良いと思うよ。


  2009-05-29 21:03:22  No: 145941

もしくはForm2にプロパティを実装してForm1からセットするかだね。


うえ  2009-05-29 22:43:22  No: 145942

フォーム2.変数 = Val(フォーム1.リッチテキストボックス.Text)


incarnation  2009-06-14 23:25:51  No: 145943

dim 変数名 as 〜  じゃなくてPublic 変数名 as 〜 でいいんじゃないのかな?


オショウ  2009-06-15 06:20:19  No: 145944

方法はいくらでもありますが・・・

例えば
Form1/Form2 にRichTextBox1を貼って、ボタンも配置し・・・

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Using objForm As Form2 = New Form2
            Dim dRet As DialogResult
            With objForm
                .Tag = CType(RichTextBox1.Text, Object)
                dRet = .ShowDialog()
                If dRet = Windows.Forms.DialogResult.OK Then
                    RichTextBox1.Text = CType(.Tag, String)
                End If
            End With
        End Using

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Me.Close()

    End Sub

End Class

Public Class Form2

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        RichTextBox1.Text = CType(Me.Tag, String)

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        With Me
            .Tag = CType(RichTextBox1.Text, Object)
            .DialogResult = Windows.Forms.DialogResult.OK
            .Close()
        End With

    End Sub

End Class

フォームの生成に準じてTagで渡して、また戻してもらうとか。
何等かの処理判定で、DialogResultにOKか、以外かを返せば、
その結果を反映させるか破棄するかもできるし・・・

如何?

以上。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加