- 題名: テキストボックスを全選択
- 日時: 2007/11/14 14:14:43
- ID: 20980
- この記事の返信元:
- (なし)
- この記事への返信:
- [20981] Re[1]: テキストボックスを全選択2007/11/14 14:35:48
- ツリーを表示
たぶん、インターネットエクスプローラのURL欄のように、最初にクリックした ら全選択で、次のクリックではキャレットが表示されるようになった方がいいです よね。そうなると、最初にクリックされたかどうかを判断しなければならなくなります。 泥臭いですが、以下のような感じでしょうか?(コードテストしてません) string preFocusNmn = string.Empty; //テキストボックス内の文字列を全選択状態にする。(Clickイベントより呼ばれる) private void TextBoxTextAllSelect(object sender, System.EventArgs e) { if (preFocusNmn != ((TextBox)sender).Name) { ((TextBox)sender).SelectAll(); preFocusNmn = ((TextBox)sender).Name; } } //テキストボックス内の文字列を全選択状態にするかどうかを判断するため。(Leaveイベントより呼ばれる) private void Clear_preFocusNmn(object sender, System.EventArgs e) { preFocusNmn = ""; }
分類:[.NET]
C#で画面にテキストボックスを二つ(textA,textB)配置し、
テキストボックスを選択した時に常に全選択にしたいのですが、
思った動きになりません。
テキストボックス両方ともにフォーカスのEnterのイベントを作成し、
そのイベントでは、
textAに、
this.textA.SelectAll();
textBにも、
this.textB.SelectAll();
と記述しました。
しかし、タブ移動でAからBに移動した時にイベントは確かに動いているのですが、
SelectAllが反応しません。
BからAでもです。
これは何故なのでしょうか?
一応、
this.textA.Focus();
this.textA.SelectAll();
上記の形でFocusを追加すると、SelectAllが反応するようになりました。
これは何故なのでしょうか?
これで思った動きになるかと思ったのですが、
マウスでAをクリックした時は、
これも確かにイベントは動くのですが、
SelectAllが反応しません。
これは何故なのでしょうか?
似たような質問だったので、3つの質問をまとめて書かして頂きました。
分かる方がいらっしゃいましたら、アドバイスよろしくお願いします。