0

datagridview のカスタム フィルターを実装しています。カスタム フィルターは、ユーザーがテキストを入力できるテキスト ボックスを持つユーザー コントロールです。

ユーザーがフィルター処理のために特定の列を選択すると、フィルター ユーザー コントロールが Grid コントロールに追加され、選択された列のすぐ下に表示されます。

問題 : ユーザーがフィルター テキストをテキスト ボックスに入力しようとすると、数値と文字のみが受け入れられ、ドットや特定の文字 (!" など) は許可されません。ただし、ユーザーが削除キーをクリックすると、それ以降はtextbox はすべての入力文字を受け入れます。

これはおそらく、ユーザー コントロールがグリッドのコントロール コレクションに追加され、グリッドがこれらのイベントを別の方法で消費しているという事実に関係しています..?

どんな助けでも感謝します。

4

1 に答える 1

0

コントロールをグリッドのコントロール コレクションに追加するのではなく、フォームまたはコンテナーのコレクションに追加します。データグリッドの前にコントロールを表示する場合は、フィルター コントロールの BringToFront() を呼び出すだけです。フィルタリングが完了したら、Hide( を呼び出すだけです。 ) または SendToBack() ので、再び表示されなくなります。

于 2012-06-21T14:28:55.973 に答える