none
如何取出變數中的值 RRS feed

  • 問題

  • 我的問題是下面的綠色的字

     

    表單一

    --------------------------------------------------------------------------------------------------------------------------------

    Public Class BA110Form_Personnel
            Private Sub txRegisterAddress_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txRegisterAddress.Click
            FormName = "BA110Form_Personnel"
            TextboxName = "txRegisterAddress"
            ZipCodeForm.ShowDialog()
        End Sub

        Private Sub txContactAddress_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txContactAddress.Click
            FormName = "BA110Form_Personnel"
            TextboxName = "txContactAddress"
            ZipCodeForm.ShowDialog()
        End Sub

    End Class

    --------------------------------------------------------------------------------------------------------------------------------

     

    表單二

    --------------------------------------------------------------------------------------------------------------------------------

    Public Class ZipCodeForm

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

    --------------------------------------------------------------------------------------------------------------------------------

     

    我寫的模組

    --------------------------------------------------------------------------------------------------------------------------------

    Module ZipCodeModule
        Public FormName As String
        Public TextboxName As String


        Public Sub InputAddress()

            '如何把FormNameTextboxName內的值轉換成下面的紅色語法!

            BA110Form.Personnel.txContactAddress.Text = ZipCodeForm.TextBox1.Text + ZipCodeForm.TextBox2.Text
            FormName = ""
            TextboxName = ""
            ZipCodeForm.Close()
        End Sub

    End Module

    --------------------------------------------------------------------------------------------------------------------------------
    2008年3月24日 上午 04:13

解答

  • Hi,

    你可以幫Form新增一個Property來儲存要傳回的訊息,搭配ShowDialog來用,例如下面程式碼

    Form1 -- 主要的Form 有一個Button以及TextBox

    Code Snippet

    Public Class Form1

        Private Sub btnShowForm2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnShowForm2.Click

            Dim F As New Form2

            Dim dlgReturn As DialogResult

            dlgReturn = F.ShowDialog()

            If dlgReturn = Windows.Forms.DialogResult.OK Then

                txtForm2Msg.Text = F.ReturnMessage

            End If

            F.Dispose()

            F = Nothing

        End Sub

    End Class

     

     

    Form2 -- 輸入資料的Form

    Code Snippet

    Public Class Form2

        Private _Msg As String = ""

     

        Public ReadOnly Property ReturnMessage() As String

            Get

                Return _Msg

            End Get

        End Property

     

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

            _Msg = TextBox1.Text

            Me.DialogResult = Windows.Forms.DialogResult.OK

            Me.Close()

        End Sub

    End Class

     

     

     

    2008年3月24日 上午 05:25
    版主

所有回覆

  • Hi,

    你可以幫Form新增一個Property來儲存要傳回的訊息,搭配ShowDialog來用,例如下面程式碼

    Form1 -- 主要的Form 有一個Button以及TextBox

    Code Snippet

    Public Class Form1

        Private Sub btnShowForm2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnShowForm2.Click

            Dim F As New Form2

            Dim dlgReturn As DialogResult

            dlgReturn = F.ShowDialog()

            If dlgReturn = Windows.Forms.DialogResult.OK Then

                txtForm2Msg.Text = F.ReturnMessage

            End If

            F.Dispose()

            F = Nothing

        End Sub

    End Class

     

     

    Form2 -- 輸入資料的Form

    Code Snippet

    Public Class Form2

        Private _Msg As String = ""

     

        Public ReadOnly Property ReturnMessage() As String

            Get

                Return _Msg

            End Get

        End Property

     

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

            _Msg = TextBox1.Text

            Me.DialogResult = Windows.Forms.DialogResult.OK

            Me.Close()

        End Sub

    End Class

     

     

     

    2008年3月24日 上午 05:25
    版主
  • 但是我有很多類似表單一的表單

     

    需要到表單二去抓資料

     

    簡單的來說

     

    表單二是郵遞區號的選擇表單

     

    我很多表單都需要選擇郵遞區號

     

    但是都不同地區這樣也可以ㄇ@@?

    2008年3月24日 上午 05:31
  • ?

    表單二都是同一個不是嗎?選擇的郵遞區號不同,Return的值也會不同,呼叫的表單都用ShowDialog的方式去呼叫表單二就可以了。

    2008年3月24日 上午 05:38
    版主
  •  

    表單二都是同一個

    但是表單一有不同的欄位

    例如

    戶籍地址會需呼叫

    聯絡地址會呼叫

    所以我才設了兩個變數

    2008年3月24日 下午 01:41