2017-02-17 10 views
-1

私はPctureBoxを含むフォームを持っています。ユーザーがこのPictureBoxをクリックすると、別のフォームに進みます。MessageBoxが間違った時刻に表示される

他の形式では、DataGridViewがあり、ユーザがDataGridViewのコンテンツを検索するための検索TextBoxがあります。しかし、私は、ユーザーがデータベースにないものを入力したときに「レコードが見つかりません」と表示したいと考えています。

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

関連する問題