[解決済み】WPFテキストボックスのフォーカス時にすべてのテキストを自動的に選択する方法は?
2022-04-01 02:44:40
質問
を呼び出すと
SelectAll
から
GotFocus
イベントハンドラでは、マウスでは動作しません。マウスを離すとすぐに選択範囲が消えてしまいます。
EDIT: 人々はDonnelleの答えを気に入っているようですが、私はなぜそれが受け入れられた答えほど好きではなかったのかを説明しようと思います。
- 同じことをよりシンプルな方法で行っているのに対して、より複雑である。
- 使い勝手は合格の方が良い。テキストの真ん中をクリックすると、マウスを離したときにテキストが非選択になり、瞬時に編集を開始することができます。ドネルのレシピでは、テキストの真ん中をクリックすると、2回目のクリックで編集が可能になります。テキスト内のどこかをクリックした場合とテキストの外側をクリックした場合、これはおそらく、すべてを上書きするのではなく、編集を開始したいことを意味します。
解決方法は?
において、なぜ選択範囲が失われるのか分かりません。
GotFocus
イベントが発生します。
しかし、1つの解決策は、選択処理を
GotKeyboardFocus
と
GotMouseCapture
イベントを使用します。そうすれば、常に動作するようになります。
-- 編集 --
ここに例を追加して、言及された欠点を回避する方法を人々に示す。
private void TextBox_GotKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
{
// Fixes issue when clicking cut/copy/paste in context menu
if (textBox.SelectionLength == 0)
textBox.SelectAll();
}
private void TextBox_LostMouseCapture(object sender, MouseEventArgs e)
{
// If user highlights some text, don't override it
if (textBox.SelectionLength == 0)
textBox.SelectAll();
// further clicks will not select all
textBox.LostMouseCapture -= TextBox_LostMouseCapture;
}
private void TextBox_LostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
{
// once we've left the TextBox, return the select all behavior
textBox.LostMouseCapture += TextBox_LostMouseCapture;
}
関連
-
[解決済み】プラットフォームが同じでも「不正なフォーマットでプログラムを読み込もうとしました。
-
[解決済み】この動詞型ではcontent-bodyを送信できない
-
[解決済み] <Database> コンテキストを支えるモデルが、データベース作成後に変更されました。
-
[解決済み] WPFでテキストボックスが数値入力しか受け付けないようにするにはどうしたらいいですか?
-
[解決済み] WPFテキストボックスの多行化
-
[解決済み] 数字しか入力できないテキストボックスの作り方を教えてください。
-
[解決済み] RelativeSourceでWPFバインディングを使用するにはどうしたらいいですか?
-
[解決済み] System.Timers.Timer vs System.Threading.Timer
-
[解決済み] WPFアプリケーションをプログラムで終了させるには?
-
[解決済み] WinFormsのテキストボックスでブラウザのアドレスバーのように動作させる
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] アセンブリから型を読み込めなかったエラー
-
[解決済み] VS2017/2015 で .xproj ファイルを開く方法
-
[解決済み] スマートクライアント・ソフトウェアファクトリーの体験談
-
[解決済み] フレームワークとアーキテクチャの違いは何ですか?[クローズド]
-
[解決済み] 列挙型を文字列に変換する
-
[解決済み] 文字列から数字を抽出する正規表現
-
[解決済み] パッケージのダウングレード警告を検出(dotnet core, vs 2017)
-
[解決済み] .Any() vs .Count() > 0のどちらのメソッドがより良いパフォーマンスを発揮しますか?
-
[解決済み] WPFの場合、x:Name属性とName属性の違いは何ですか?
-
[解決済み] プライベートメソッドのユニットテストはどのように行うのですか?