2015-08-04 3 views
0

Я хочу сделать это, когда пользователь нажимает кнопку ОК, выполняется код Вот как я попробовал.VB DialogResult не работает

Код foodItemslst.Items.Add(staffForm.TheStaff.ToString) НЕ выполнен.

 Private Sub AddStaffbtn_Click(sender As Object, e As EventArgs) Handles AddStaffbtn.Click 
      Dim staffForm As StaffForm = New StaffForm 
      If (staffForm.ShowDialog = System.Windows.Forms.DialogResult.OK) Then 
       foodItemslst.Items.Add(staffForm.TheStaff.ToString) 
        'the above code IS not executed. 
      End If 
     End Sub 

Однако этот код работает:

Private Sub AddStaffbtn_Click(sender As Object, e As EventArgs) Handles AddStaffbtn.Click 
     Dim staffForm As StaffForm = New StaffForm 
     If (staffForm.ShowDialog = System.Windows.Forms.DialogResult.OK) Then 
     End If 
     foodItemslst.Items.Add(staffForm.TheStaff.ToString) 
     'The above code is executed 
    End Sub 

Существует что-то не так с кодом:

If (staffForm.ShowDialog = System.Windows.Forms.DialogResult.OK) 

, но я не знаю, в чем проблема

OK кнопка помечена OK и имеет имя OKbtn.

Кто-нибудь знает, почему DialogResult не работает?

Update:

Код для кнопки OK,

Private Sub OKbtn_Click(sender As Object, e As EventArgs) Handles OKbtn.Click 
     ReadValues(m_staff) 
     Me.Close() 
    End Sub 
+1

показать код для кнопки OK - вы заходящего результат? – Plutonix

+1

Не имеет значения, какая кнопка ОК отмечена или что это такое. Важно то, что вы установили для свойства DialogResult кнопки OK. –

+1

Вы можете добавить 'Me.DialogResult = DialogResult.OK' перед' Me.Close() 'или установить свойство OK как диалогового результата для кнопки. – Jaxedin

ответ

1

Просто установите DialogResult, вы не нужен Close() вызов, а также:

Если форма отображается как диалоговое окно, устанавливая это свойство с помощью значения из перечисления DialogResult задает значение диалогового окна результат поля для формы, скрывает модальное диалоговое окно и возвращает управление вызывающей форме.

Так просто сделать:

Me.DialogResult = DialogResult.Ok 
Смежные вопросы