C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: MaskedTextBoxで,カーソル位置を設定するには?


(過去ログ 30 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■13987 / inTopicNo.1)  MaskedTextBoxで,カーソル位置を設定するには?
  
□投稿者/ 鈴木 (2回)-(2008/02/07(Thu) 14:42:22)

分類:[.NET 全般] 

お世話になります.
環境はVisualStudio2005のC#です.

MaskedTextBoxでマスクが郵便番号の時,初期表示が「___-____」と表示されています.
ここで適当な位置にマウスカーソルを入れてクリックし,入力を開始すると「__1-2345」等になって,開始位置が一定しません.
これをボックスのどこをクリックしても,又はTabキー等でフォーカスを移しても,必ず左端から入力できるようにするには,どうすれば良いのでしょうか?
試しにSelectStartやSelect(0,1)等も試してみたのですが駄目でした.

解決法をご存知の方,御教授願います.
何方か,宜しくお願い致します.
引用返信 編集キー/
■13992 / inTopicNo.2)  Re[1]: MaskedTextBoxで,カーソル位置を設定するには?
□投稿者/ やじゅ (117回)-(2008/02/07(Thu) 14:59:39)
No13987 (鈴木 さん) に返信
> MaskedTextBoxでマスクが郵便番号の時,初期表示が「___-____」と表示されています.
> ここで適当な位置にマウスカーソルを入れてクリックし,入力を開始すると「__1-2345」等になって,開始位置が一定しません.
> これをボックスのどこをクリックしても,又はTabキー等でフォーカスを移しても,必ず左端から入力できるようにするには,
> どうすれば良いのでしょうか?
> 試しにSelectStartやSelect(0,1)等も試してみたのですが駄目でした.
>

Enterイベントで矢印キー(←)などをSendKeys.Sendで送ってしまうとか
引用返信 編集キー/
■14100 / inTopicNo.3)  Re[2]: MaskedTextBoxで,カーソル位置を設定するには?
□投稿者/ 引っ込んだ(略) (2回)-(2008/02/09(Sat) 00:54:51)
はじめまして、引っ込んだ(略)と申します。
 お答えいたします。

  苦し紛れの方法なのですが(汗、
 とりあえず以下のコードで試してみてください。
 ※ コードがVBですがご了承下さい。m(_ _)m

Dim m_isenter As Boolean = False
Private Sub MaskedTextBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MaskedTextBox1.Click
If Me.m_isenter = True Then
Me.m_isenter = False
Me.MaskedTextBox1.SelectionStart = 0
End If
End Sub
Private Sub MaskedTextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles MaskedTextBox1.Enter
Me.m_isenter = True
End Sub

以上です。
引用返信 編集キー/
■14131 / inTopicNo.4)  Re[3]: MaskedTextBoxで,カーソル位置を設定するには?
□投稿者/ 引っ込んだ(略) (3回)-(2008/02/09(Sat) 22:32:41)
引っ込んだ(略)と申します。

 私のコードに以下の不具合がありましたので、修正しました。
  ・Tabキーを用いてMaskedTextBoxにフォーカスを移動した際、
   カーソル位置が最も左側に設定されない場合がある。
   ※ コードがVBですがご了承下さい。m(_ _)m

Dim m_isenter As Boolean = False
Private Sub MaskedTextBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MaskedTextBox1.Click
If Me.m_isenter = True Then
Me.m_isenter = False
Me.MaskedTextBox1.SelectionStart = 0
Me.MaskedTextBox1.SelectionLength = 0
End If
End Sub
Private Sub MaskedTextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles MaskedTextBox1.GotFocus
Me.m_isenter = True
Me.MaskedTextBox1.SelectionStart = 0
Me.MaskedTextBox1.SelectionLength = 0
End Sub

以上です。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -