2017-02-17 2 views
-1

У меня есть форма, которая содержит PctureBox. Когда пользователь нажмет на это PictureBox, они перейдут к другой форме.MessageBox появляется в неподходящее время

В другой форме у меня есть DataGridView, и у меня есть поиск TextBox, чтобы пользователь мог искать содержимое в DataGridView. Однако я хочу показать «нет записи», когда пользователь вводит что-то, чего нет в базе данных.

MessageBox отображает «запись не найдена», однако она также делает это, когда пользователь сначала нажимает на PictureBox и форма загружается.

Код:

Private Sub TextBox3_TextChanged_1(sender As Object, e As EventArgs) Handles TextBox3.TextChanged 

    If Me.MasterlistTableAdapter1.FillBySearchProject(Me.DocumentDataSet.masterlist, TextBox3.Text)=0 Then 

     System.Windows.Forms.MessageBox.Show("No Record has been Found") 

    End If 

End Sub 

Когда я создал Button этот код работает отлично. Запрос отображается только в том случае, если в поиске нет записей.

Я не хочу использовать Button для поиска. Мой поиск работает, когда пользователь вводит только несколько слов, данные найдены.

+0

Отображение окна сообщений для каждого нажатия клавиши грубо непрактичным UI. Пользователю должно быть очевидно, что DGV пуст. Или отобразите сообщение в StatusStrip. И удалить вызов Show(), проблема решена. –

+0

Что вы подразумеваете под функциями _My поиска, когда пользователь вводит только несколько слов, данные найдены._? – Bugs

+0

Это обычная проблема. При предварительной настройке данных в форме события каждого предустановленного элемента управления будут срабатывать во время события загрузки. Обычно я добавляю флаг Boolean IsLoaded, который устанавливается после инициализации и проверяет его в обработчиках. –

ответ

0

Попробуйте

Private Sub TextBox3_TextChanged_1(sender As Object, e As EventArgs) Handles TextBox3.TextChanged 

    If Not TextBox3.Text = "" Then 

     If Me.MasterlistTableAdapter1.FillBySearchProject(Me.DocumentDataSet.masterlist, TextBox3.Text)=0 Then 

      System.Windows.Forms.MessageBox.Show("No Record has been Found") 

     End If 

    End If 

End Sub 
+0

Это не работает. «Никакая запись не найдена» все еще появляется в неправильном месте – Moon

Смежные вопросы