2017-02-17 48 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

你是什麼意思_我的搜索功能,當用戶只輸入幾個單詞,找到數據。 – Bugs

+0

這是一個常見問題。在窗體上預設數據時,每個預設控件的事件將在載入事件期間觸發。我通常在初始化後添加一個布爾型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