none
建立新表單問題 RRS feed

  • 問題

  • 小弟我寫了一個建立新表單的程式,我想按按扭後可以讀到textbox上的東西,以及在將textbox改寫該怎做
    dim new_form As New Form
    
    Dim txt_window As New TextBox
    
    Dim send_msg As New Button
    new_form.Controls.Add(txt_window)
    new_form.Controls.Add(send_msg)
    new_form.Show()
    
    


    2011年8月20日 上午 06:54

解答

    1. 先從專案加入>新增項目>Windows Form(例如:Form2)
    2. Form2畫面上擺控制項並做您講的那些動作
    3. 然後在Form1把Form2 New出來並顯示就好
     'Form1的按鈕Click事件
     Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
      Dim form2 As New Form2
      form2.Show()
      '把Form2顯示出來
     End Sub
    

     


    Shadowと愉快なコード達

    • 已標示為解答 191Banned 2011年8月20日 上午 07:25
    2011年8月20日 上午 07:12

所有回覆

  • 聽您的描述,把

    new_form、txt_window、send_msg宣告成物件成員就可以讓按鈕Click事件讀取到了

      Dim new_form As New Form
    
      Dim txt_window As New TextBox
    
      Dim send_msg As New Button
      Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        
        new_form.Controls.Add(txt_window)
        new_form.Controls.Add(send_msg)
        new_form.Show()
      End Sub
    
     
      Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        txt_window.Text = "Hello World!!"
    
      End Sub
    

     


    Shadowと愉快なコード達
    2011年8月20日 上午 07:06
    1. 先從專案加入>新增項目>Windows Form(例如:Form2)
    2. Form2畫面上擺控制項並做您講的那些動作
    3. 然後在Form1把Form2 New出來並顯示就好
     'Form1的按鈕Click事件
     Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
      Dim form2 As New Form2
      form2.Show()
      '把Form2顯示出來
     End Sub
    

     


    Shadowと愉快なコード達

    • 已標示為解答 191Banned 2011年8月20日 上午 07:25
    2011年8月20日 上午 07:12
  • 建議您可以把要新增的TextBox, Button的事寫在 New Form之中,然後由您這支程式去呼叫那個New Form!
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/
    2011年8月20日 上午 07:16
  • 大大這方法我試過了,是可以但不是我要的動作,因為我是用一個按扭去按,然後一直產生新的表單,新的表單都有各自的txt_window跟send_msg
    2011年8月20日 上午 07:17
  • 您要做類似這樣?

    Public Class Form1
    
      Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
       
      End Sub
    
      'Form1的按鈕Click事件
      Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim new_form As New Form
        Dim txt_window As New TextBox
        Dim send_msg As New Button
    
        new_form.Controls.Add(txt_window)
        new_form.Controls.Add(send_msg)
        new_form.Show()
        Me.txt_window = txt_window
      End Sub
    
      Dim txt_window As TextBox
      Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        '讀取剛剛新增表單的TextBox文字
        MessageBox.Show(Me.txt_window.Text)
    
      End Sub
    End Class
    
    

     


    Shadowと愉快なコード達
    2011年8月20日 上午 07:24
  • 你是想做類似這樣的效果嗎 ? 其實我覺得另外建一個Class來描述那個Form會好一點, 除非你是真的要做成動態的.

    Public Class Form1

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim f As New Form
            Dim txt As New TextBox
            Dim b As New Button
            txt.Location = New Point(10, 20)
            b.Location = New Point(10, 60)
            f.Controls.Add(txt)
            f.Controls.Add(b)
            AddHandler b.Click, AddressOf b_Click
            f.Show()
        End Sub

        Private Sub b_Click(ByVal sender As Object, ByVal e As EventArgs)
            MessageBox.Show("Test")
        End Sub

    End Class


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2011年8月20日 上午 07:41
    版主