C# TextBox のカスタム オートコンプリート
C# テキストボックスにオートコンプリート機能を実装する場合、順序に関係なくユーザーがエントリを完了できるようにすることが望ましいことがよくあります。そこに入力します。たとえば、エントリが「[001] Last, First Middle」という形式で存在する場合、ユーザーが名前に「John」と入力すると、オートコンプリート結果にそのエントリが表示されます。
デフォルトの制限事項AutoComplete
C# の既定の AutoComplete 機能は、プレフィックス マッチングのみをサポートします。これは、ユーザーがオートコンプリートをトリガーするにはエントリの先頭を入力する必要があることを意味します。
カスタム イベント処理によるオートコンプリートのオーバーライド
この制限を克服するには、カスタム オートコンプリートを実装できます。 OnTextChanged イベントをオーバーライドすることで関数を呼び出します。これにより、テキスト入力を処理し、関連するオートコンプリート結果を動的に表示できます。
実装例
次の例は、ListBox を使用して基本的なオートコンプリート関数を作成する方法を示しています。
カスタム関数
カスタム関数を実装する方法の例を次に示します。オートコンプリート機能の説明上:
private void textBox1_TextChanged(object sender, System.EventArgs e) { listBox1.Items.Clear(); if (textBox1.Text.Length == 0) { hideResults(); return; } foreach (String s in textBox1.AutoCompleteCustomSource) { if (s.Contains(textBox1.Text)) { Console.WriteLine("Found text in: " + s); listBox1.Items.Add(s); listBox1.Visible = true; } } }
機能拡張
この基本的な実装は、TextBox へのテキストの追加、追加のキーボード コマンドのキャプチャ、フィルタリング ベースの実装などの機能を追加することで拡張できます。より複雑な基準で。
以上がC# TextBox で非プレフィックス マッチングをサポートするカスタム オートコンプリート機能を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。