vb2005で複数のテキストボックスのイベントについて

このQ&Aのポイント
  • vb2005で複数のテキストボックスのイベントについて質問です。タブの中に、複数のテキストボックスが存在していますが、指定した10個のテキストボックスのみ、フォーカスを外したときにイベントを発生させる方法を知りたいです。
  • vb2005で複数のテキストボックスのイベントについて教えてください。タブ内に複数のテキストボックスがあり、指定した10個のテキストボックスのみフォーカスを外したときにイベントが発生する方法を知りたいです。
  • vb2005で複数のテキストボックスのイベントについて質問です。複数のテキストボックスがある中で、特定の10個のテキストボックスのフォーカスが外れたときにイベントを発生させる方法を教えてください。
回答を見る
  • ベストアンサー

vb2005 で複数のテキストボックスのイベントについて

vb2005で タブの中に、複数のテキストボックスが存在しています。(15個程) その中の指定した10個のみ、フォーカスを外したときにイベントを 発生させるよい方法はありますでしょうか。 一つのテキストボックスは下記で行えるのですが、複数の場合よい方法はありますでしょうか。 Private Sub Textabc_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles Textabc.Validating ~~処理~~ End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • LOHA
  • ベストアンサー率52% (203/388)
回答No.1

指定した10個のうち、何個フォーカスが外れているかを(フォーカスイベントで)カウントしておいて、別個の関数でカウントが10の時、行いたい処理を実行するようにしておいて、各テキストボックスのフォーカスイベントでその関数を呼び出すようにすれば良いのでは?

関連するQ&A

  • VB2010テキストボックスのボップアップについて

    visual basic 2010を使用しています。 ■質問内容 ・EnabledをFalseにしてもクリックでボップアップ表示させる方法 ・他の方法で書き込み禁止にし、クリックでボップアップ表示させる方法 テキストボックスをクリックすると、ボップアップで内容が表示されるプログラミングをしたのですが、テキストボックスへの書き込みを禁止するためにプロパティからEnabledをFalseにすると、ボップアップされなくなってしまいます。 'テキストボックスには、コンボボックスから複数取得された内容が入っていますので、変数に入れました Private Sub textbox_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles textbox.Click Dim a As String a = textbox.Text MsgBox(a) End Sub 以上、宜しくお願い致します。

  • VB205のPicturebox上でのMousewheelイベント

    VB2005で、Form1にPanel1をはりつけ、その中にPicturebox1をはりつけ、Pictureboxの範囲の中で、マウスをホィールしても、イベントが発生しません。ためしに、Picturebox1とPanel1について書いてみましたが、だめでした!(Form1では、発生します) 何がダメなんでしょうか?どなたか詳しい方がいらっしゃいましたら教えて頂けないでしょうか?宜しくお願い致します。 Private Sub PictureBox1_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseWheel MsgBox("TEST_Picturebox") End Sub Private Sub Panel1_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseWheel MsgBox("TESUT_Panel") End Sub

  • テキストボックスに描画

    テキストボックスの上でマウスを動かすと赤い線を描画するプログラムを書きました。 Private Sub TextBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseMove Dim g As Graphics = sender.CreateGraphics() g.FillEllipse(Brushes.Red, e.X, e.Y, 5, 5) End Sub この方法の場合、フォームが再描画されると書いたものが消えてしまいます。 再描画されても消えなくて、なおかつアプリケーションをいったん終了しても復元できる方法があれば、教えてください。

  • テキストボックスの改行について質問です。

    VB超初心者です。 現在VBで複数のCSVファイルを処理するアプリケーションを作成しています。 ドラッグドロップでファイルを認識して処理するのが目的です。 そこでまずテキストボックスにドラッグしたファイル名を表示したいと考えており、 ネットで公開されている以下のソースを利用したいと思っています。 Private Sub TextBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragEnter If e.Data.GetDataPresent(DataFormats.FileDrop) Then e.Effect = DragDropEffects.Copy End If End Sub Private Sub TextBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragDrop TextBox1.Text = e.Data.GetData(DataFormats.FileDrop)(0) End Sub しかし、これでは複数のファイルの表示ができませんでした。 テキストボックス内で改行させるにはどこを変更したら良いのか全く分かりません。 また、ファイル名ではなくファイルの階層を表示するのも目的と少し異なってしまいます。 調べてみても良くわかりませんでした。 そこでVBに精通している方にお願いです。 希望通りに表示する方法のアドバイスをお願いします!!

  • 簡単なプログラムにまとめる方法

    前回、同じようなプログラムを簡単にまとめる方法を教えて頂いたのですが新しい事で困ってしまいました。 説明が非常にへたくそなので、プログラムをそのまま書きます・・・・ スイマセン Private Sub TextBox1_1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1_1.GotFocus Me.TextBoxNum.Text = "1" End Sub Private Sub TextBox2_1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox2_1.GotFocus Me.TextBoxNum.Text = "2" End Sub Private Sub TextBox3_1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox3_1.GotFocus Me.TextBoxNum.Text = "3" End Sub 上記のプログラム、TextBox○○○_1.KeyPressの○○○の部分が1から100まであるのですが、あまりにも行数が多くなって長くなるので、以下のプログラムで纏めたのですが、 Me.TextBoxNum.Text = "○○○" にフォーカスされたTextBox○○○_1の○○○を入れる方法はありますか? Private Sub TextBox1_1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1_1.GotFocus,TextBox2_1.GotFocus,TextBox3_1.GotFocus Me.TextBoxNum.Text = "○○○" End Sub 説明が下手くそでスイマセン、ほかに新しい方法でも有ればお願いします よろしくお願いしますm(__)m

  • VB.NET フォーカスの位置をしる方法

    VB.NETにてWindowsMobile5.0の開発をしております。 下記のようにテキストボックスにフォーカスがきたら色を変える処理をしてますが、 テキストボックスがたくさんある場合どこがフォーカスされているか知ってテキストボックスなら色を変えると言う処理にしたいです。 何卒、ご教授のほどよろしくお願いします。 Private Sub T_ATO_GetFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles T_ATO.GotFocus T_ATO.BackColor = Color.Aqua TextBox_ENT.Text = T_ATO.Text End Sub Private Sub T_ATO_LostFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles T_ATO.LostFocus T_ATO.BackColor = Color.White End Sub

  • VB2013でのプログラム作成でつまづきました

    初めまして ご質問です 会社にて、職場改善のため VB2013でプログラムを作成していますが PCに詳しいのが自分しかいなく、指名されました。。。 もちろん自作PCとか作れるぐらいですが プログラムなんてやったことないし困っています 職場にプログラム専門の方がいるので教育を受けていますが 2.3回教えてもらって  「windowsの電卓を作ろう」と言われました 電卓作成は、初心者用の題材らしいですが とりあえず教えてもらった事を駆使し まずは、テキストボックスとテキストボックスに数字を入れ その二つを +や-ボタンを押し =ボタンを押すと、3つ目のテキストボックスに表示させるという 簡単なプログラムは、なんとかできましたが windowsぽくすると 例 11 + 12 - 9 とテキストに表示され =ボタンを押すと 表示が消え 計算結果が表示されます いまの問題 ・整数と文字列を表示させ、計算だけさせる ・変数宣言、IF、Serectしか教わってない(それだけでできる言われた笑) ・まだ、いまいちわかっていないため 詳しく知りたい 無論、教えてもらったコードをそのまま使いたいわけじゃなく どーいう流れで、どーいう風にというのを理解したいです 結局は自分が理解して、少しずつやらないといけないので 詳しい方、教えてください。 現在なにもできてないコードです ここにどう埋めるか教えてほしいです ------------------------------------------------------------------------------ Option Explicit On Public Class Form Public oboe As String '押されたボタンが数値以外を覚える変数 Public befor As String '押されたボタンが数値の場合 覚える変数 Public anser As Integer ' 計算結果を保存する 変数 Public number As Integer '入力された数値を保存する 変数 Private Sub Form_Load(sender As Object, e As EventArgs) Handles MyBase.Load End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click '1 befor = "1" ans.Text &= "1" End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click '2 befor = "2" ans.Text &= "2" End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click '3 befor = "3" ans.Text &= "3" End Sub Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click 'たし算 oboe = "+" ans.Text &= "+" number = befor + ans.Text End Sub Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click '掛け算 End Sub Private Sub Button4_Click_1(sender As Object, e As EventArgs) Handles Button4.Click '計算 End Sub Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click 'CLEAR End Sub Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click '引き算 End Sub Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click '割り算 End Sub Private Sub ans_TextChanged(sender As Object, e As EventArgs) Handles ans.TextChanged

  • 2つのチェックボックスを制御

    2つのチェックボックスがあり両方ともはずせて片方だけにチェックがつく2つの チェックボックスが作りたいです 自分なりに作成してみました。このソースで不具合等ありませんでしょうか Private Sub ckb1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ckb1.CheckedChanged If ckb1.Checked = True Then ckb2.Checked = False End If End Sub Private Sub ckb2_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ckb2.CheckedChanged If ckb2.Checked = True Then ckb1.Checked = False End If End Sub 新人プログラマーなので自信がありません

  • DateTimePicerでドロップダウンから変更したときFocusメソッドが機能しない

    ドロップダウンからカレンダーを表示させて日付を変更したときにFocusメソッドが機能しません。 ドロップダウンではなくキーボードから変更するとFocusメソッドが機能します。 Private Sub DateTimePicker_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DateTimePicker.ValueChanged Textbox1.Focus() End Sub 単純にこれだけなのですが、カレンダーから日付を選ぶとTextBox1にフォーカスが移りません。 いろいろためしたところ、 Private Sub DateTimePicker_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DateTimePicker.ValueChanged Textbox1.Focus() msgbox("移動") End Sub などと、メッセージボックスを表示するとカレンダーから日付を選択してもフォーカスが移動します。これは、言語の仕様なのでしょうか。

  • VB電卓作成について

    今、Visual Studio NETを用いて電卓を作ろうとしています。 いろいろ調べてやっているのですが、うまくいきません。 1+2はできるのですが、1+2+3が5になってしまいます。 どうすればいいのか、どなたか教えていただけませんか? 今のコードをキーの設定以外を記載しておきます。 お願いします。 ================================================ Private Sub 数字キー(ByVal n As Integer) If CL Then R1 = 0 CL = False End If R1 = R1 * 10 + n Textreg.Text = R1 End Sub Private Sub 演算キー(ByVal o As Integer) Op = o R2 = R1 CL = True End Sub Private Sub 計算() Select Case Op Case 1 R1 = R2 + R1 Case 2 R1 = R2 - R1 Case 3 R1 = R2 * R1 Case 4 R1 = R2 \ R1 End Select Textreg.Text = R1 End Sub Private Sub keyEQ_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles keyEQ.Click 計算() End Sub Private Sub keyCL_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles keyCL.Click Textreg.Text = "0" R1 = 0 R2 = 0 Op = 0 CL = True End Sub Private Sub Form電卓_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load Textreg.Text = 0 R1 = 0 R2 = 0 Op = 0 CL = True End Sub End Class

専門家に質問してみよう