C# の Winform テキストボックスの自動クリア
質問
内容を変更するためにすべてを強調表示する必要がないように、テキストボックスを選択して現在のテキストを選択できるようにしたいと考えているユーザーがいます。
Enter キーを押したときに内容を処理する必要があります。その部分は理解できたと思いますが、何か提案があれば歓迎します。
助けが必要な部分は、一度 Enter キーを押すと、テキストボックスに入力すると内容が再度クリアされる必要があるということです。
編集: テキストボックスは RF ハードウェアを制御します。ユーザーができるようにしたいのは、設定を入力して Enter キーを押すことです。設定はハードウェアに送信されます。ユーザーは他に何もせずに新しい設定を入力し、もう一度 Enter キーを押したいと考えています。
解決
TextBox の KeyPress イベントにフックし、Enter キーが押されたときにハードウェア設定コードを実行し、テキスト ボックスの全テキストを再度強調表示します (下記を参照) - Windows が次のキーストロークでテキストをクリアします。あなたのために。
TextBox1.Select(0, TextBox1.Text.Length);
他のヒント
OK、それは賢明だと思いますか?ここでは 2 つのシナリオを想定しています。
- フォームにはデフォルトのボタンがあり、Enter キーを押すと「クリック」されます。
- デフォルトのボタンはないので、ユーザーがそれに関係なく Enter キーを押す必要があるとします。
これらはどちらも同じ疑問を引き起こします。
- テキストに対して何らかの検証が行われていますか?
- このロジックをカプセル化するユーザー コントロールを作成してみてはいかがでしょうか?
- Enter ボタンが押されて正常に消費されていることがわかっている場合、どのような問題が発生していますか? TextBoxName.Text = string.Empty ?
また、丁寧な注意として、質問を少し区切っていただけますか。1 つの大きなブロックを読むのは少し大変です。
所属していません StackOverflow