Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
タブページについて
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=2536#CommentId19940
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
らるきー
 ()
投稿日時
2008/8/11 21:11:00
>>1 鍵さん
お返事ありがとうございます!
VB2005を使用しています。
変な日本語で申し訳なかったですが、アドバイス頂いた様にしてみるとできました↓
サンプルプログラムとして、タブページ2つに、各タブページの中にTextBoxが2つずつある画面で
Dim i, p, x, y As Integer
Private Sub TabPage1_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabPage1.Leave
'正規表現で入力された値を判断する。
If Regex.IsMatch(TextBox1.Text, "^[0-9]{1,3}$") Then
i = Val(TextBox1.Text)
i = Convert.ToInt32(i)
Else
MsgBox("textbox1 error", vbCritical, "入力エラー")
TextBox1.Clear()
Exit Sub
End If
Me.TextBox1.Focus()
If i > 300 Then
MsgBox("300overr", vbCritical, "入力エラー")
TextBox1.Clear()
Exit Sub
End If
Me.TextBox1.Focus()
End Sub
これでtabpage1のTextBox1に入力された数値を、TabPage1以外のTabPageに移ろうとしたときに、
判断できるようになりましたが。。
>たとえば、[OK]ボタンがクリックされたときにまだ必要な項目、たとえばメールアドレスが入力されていなかったとします。
>この場合にただ単に「メールアドレスを入力してください。」という警告のメッセージを表示するだけではなく、
>そのメッセージとともに自動的にメールアドレス欄がフォーカス状態になるならば、
>それは親切なアプリケーションと言えます。
とこちらのサイトでも仰られている様に、エラーがあった箇所にフォーカスを戻したいのですが
↑のプログラムではTabPage1以外に移った場合、そのTabPageのTextBoxにフォーカスが移ってしまいます。。
何とかTabPage1に戻って、エラーのあるTextBoxにフォーカスを戻す方法はないでしょうか?
それともう1つなのですが、↑のプログラムはTabPage1のTextBox1の処理なのですが
もう1つTextBox2にも同じ処理をさせたいので、コピーすれば早いのですが。。
そうはせずに、処理を纏めて、プロシージャに呼び出す?方法があると聞きました。
なにぶん初心者でよくわかっていないのですが、そちらの方法もご教授いただければと思います。
長々と本当にすみません!