2011-12-06 86 views
0

我是vb.net的新手,我只想問你一些問題。 我想創建一個簡單的程序,我試圖用運行時設計來做到這一點。運行時設計

enter image description here

這種形式,當你點擊的文字說明(文本) 「顯示另一種形式的」 Button1的,另一種形式將這段代碼創建:

Public Class Form1 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
     Dim NewForm As New Form 
     Dim btnCancel As New Button 

     NewForm.StartPosition = FormStartPosition.CenterScreen 
     NewForm.FormBorderStyle = Windows.Forms.FormBorderStyle.None 
     NewForm.BackColor = Color.WhiteSmoke 
     NewForm.Size = New Size(400, 200) 
     NewForm.FormBorderStyle = Windows.Forms.FormBorderStyle.Sizable 


     btnCancel.Text = "Cancel" 
     btnCancel.Size = New Size(150, 50) 
     btnCancel.Location = New Point(50, 50) 

     NewForm.Controls.Add(btnCancel) 
     NewForm.ShowDialog() 

     AddHandler btnCancel.Click, AddressOf CancelClick 
    End Sub 

    Public Sub cancelclick(ByVal sender As Object, ByVal e As EventArgs) 
     Dim x As String = MessageBox.Show("Exit", "", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) 
     If x = vbYes Then End 
    End Sub 
End Class 

enter image description here

如何當我點擊取消按鈕時退出我創建的表單。我提供的代碼不起作用。請幫助我。由於

+0

我試圖用'MouseEventArgs'替換'EventArgs',但它仍然不起作用。 – aer

+0

*「我提供的代碼不起作用。」* - 最好也描述它不工作的方式,以及它以什麼方式工作。 –

回答

4

嘗試顯示對話框

NewForm.Controls.Add(btnCancel)
的AddHandler btnCancel.Click,AddressOf CancelClick
NewForm.ShowDialog()

+0

...感謝的人。有效!你能告訴我什麼是AddHandler和AddressOf?我一直試圖谷歌的答案,但我找不到一個。 – aer

+0

+1,很好的答案。 –

+0

@aerohn AddHandler用於附加任何事件和AddressOf函數,該函數將在引發attched事件時調用。 –

0

在連接前處理程序代碼的代碼將AddressOf CancelClick更改爲AddressOf cancelclick

編輯:

將NewForm.ShowDialog()更改爲NewForm.Show(),並將代碼更改爲下面的代碼,然後肯定會起作用。

Public NewForm As Form 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
     NewForm = New Form 
     Dim btnCancel As New Button 

     NewForm.StartPosition = FormStartPosition.CenterScreen 
     NewForm.FormBorderStyle = Windows.Forms.FormBorderStyle.None 
     NewForm.BackColor = Color.WhiteSmoke 
     NewForm.Size = New Size(400, 200) 
     NewForm.FormBorderStyle = Windows.Forms.FormBorderStyle.Sizable 


     btnCancel.Text = "Cancel" 
     btnCancel.Size = New Size(150, 50) 
     btnCancel.Location = New Point(50, 50) 

     NewForm.Controls.Add(btnCancel) 
     AddHandler btnCancel.Click, AddressOf cancelclick 

     NewForm.Show() 

    End Sub 

    Public Sub cancelclick(ByVal sender As Object, ByVal e As System.EventArgs) 
     Dim x As String = MessageBox.Show("Exit", "", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) 
     If x = vbYes Then End 
    End Sub 
+0

我想顯示模態表單,這就是爲什麼我把它設置爲'.ShowDialog()':)) – aer