■15010 / inTopicNo.3) |
Re[2]: MaskdTextBoxでのSelectAll |
□投稿者/ taguchi (24回)-(2008/03/01(Sat) 22:10:10)
|
やじゅ さん
アドバイスありがとうございました。
> 明示的にフォーカスを設定するとできるようです。
> private void maskedTextBox1_Enter( object sender, EventArgs e )
> {
> this.maskedTextBox1.Focus();
> this.maskedTextBox1.SelectAll();
> }
なるほど。フォーカスをセットしないと上手く動かないみたいですね。
> MaskedTextBox.SelectAllメソッドが意図したように機能しない
> http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=435580&SiteID=7
上記リンクにありますように、Focusメソッドを使いたくなかったので、
リンク内コードを参考にして、非同期の実行をテストしてみました。
public delegate void InvokeSelectAll(MaskedTextBox pTarget);//デリゲート
private void MaskedTextBoxSelectAll(MaskedTextBox pTarget)
{
if (pTarget != null) pTarget.SelectAll();
}
private void maskedTextBox1_Enter(object sender, EventArgs e)//イベント
{
BeginInvoke(new InvokeSelectAll(MaskedTextBoxSelectAll), sender);//非同期実行
}
これで上手く動くようになりました。
有難うございました。
#上記コードでおかしな点がありましたら指摘ねがいます。
#C#では非同期実行で解決する事が多いのですが、これがC#の肝なんでしょうか?
|
解決済み
|