Дизайн во время выполнения - PullRequest
       0

Дизайн во время выполнения

0 голосов
/ 06 декабря 2011

Я новичок в vb.net, и у меня просто есть кое-что спросить. Я хочу создать простую программу и пытаюсь сделать это с помощью дизайна во время выполнения.

enter image description here

с этой формой, когда вы нажимаете кнопку 1 с надписью (Текст) «Показать другую форму», будет создана другая форма с этим кодом:

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

Как выйти из формы, которую я создал, когда вы нажмете кнопку «Отмена». Код, который я предоставил, не работает. Пожалуйста, помогите мне. Спасибо

Ответы [ 2 ]

4 голосов
/ 06 декабря 2011

Попробуйте прикрепить код обработчика перед отображением диалога

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

0 голосов
/ 06 декабря 2011

В вашем коде измените значение AddressOf CancelClick на AddressOf cancelclick

EDIT:

Измените 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...