0

私のクラスのこの課題の一環として、データベースに接続されたリストボックスがあり、学生の姓名が表示されます。また、ユーザーが探している名前や姓をテキスト ボックスに入力し、[検索] ボタンを押すと、フィルター処理された結果がリスト ボックスに表示される検索機能も作成しました。

質問の最後の部分では、ユーザーがテキストボックスをクリアしたことを検出して、リストボックスに元のデータをもう一度表示するように求めています。私はdatabaseload()というメソッドにデータを持っているので、リストボックスが再び空であることをプログラムに検出させる方法に本当にかかっています。

オンラインでいくつかのことを見つけましたが、試してみるとうまくいきませんでした。

private void searchTextBox_KeyPress(object sender, KeyPressEventArgs e){
  if (e.KeyChar == 8)
  {
    databaseload();
  }
}

KeyDownも試しました

また、最初のバックスペースが検出されたときにリロードしたくありません。searchTextBox に何もないときにリストボックスをリロードしたい。

よろしくお願いいたします。

4

2 に答える 2

1

KeyUpキーがテキストに入力された後に発生するイベントを処理する必要があります。

于 2012-10-28T02:16:14.843 に答える
0

TextChangedバックスペースを手動で検出するよりも適切と思われるイベントがあります。キーはすべてのテキストを削除することもできます。deleteまたは、誰かがすべてのテキストを強調表示cutしてクリップボードに追加することもできます。

TextChangedイベントの使用例:

private void textBox_TextChanged(object sender, EventArgs e)
{
    if (string.IsNullOrEmpty(((TextBox)sender).Text))
    {
            // reload database
    }
}
于 2012-10-28T02:22:23.453 に答える