• ベストアンサー

Validatingイベントについて

VB.NETのValidatingイベントでフォーカスが移動しようとしている(移動先の)コントロールが何であるかを取得することはできるでしょうか?

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

  • ベストアンサー
  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.1

未来の予測なんてできない・・・と思ったらできましたね。 まぁ試したら分かりますが、フォーカスを失った瞬間は次のコントロールがフォーカスを得た瞬間(厳密に言えばコントロールのenterではなく、フォームのaciteve)でもありますので、アクティブなコントロールの名前でも得た後にValidatingイベントをキャンセルしてしまえば出来ました。 まぁこれは未来の予測ではなく、未来を見た後にちょっと後戻りする感じです。 サンプル Private Sub TextBox_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox.Validating MsgBox(Me.ActiveControl.Name) e.Cancel = True End Sub

参考URL:
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwindowsformscon
全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Validated イベントについて

    textboxのValidated について調べたのですがMSDNライブラリで検索したところ Validated コントロールの検証が終了すると発生します。 とあります。このコントロールの検証とは何ですか 具体的にわかりやすく教えてください 同様に Validating コントロールが検証を行っているときに発生します これについても具体的にわかりやすく教えてください。 質問をまとめると ValidatedとValidatingのイベントについてわかりやすく 教えて下さいということです。

  • VB.NET2003でのTABControlイベントについて

    TabControlの処理について教えて下さい。 TabControlの外に貼り付けたTextBoxの内容が変更された場合、タブのページを変える前に問い合わせのメッセージを表示したいのですがうまくいきません。 具体的には、TabControlのSelectedIndexではページが変わった後にイベントが発生するので遅いのです。また、TabPageのValidatingでは、タブ上のコントロールにフォーカスが当たっていないとイベントすら発生しないし... アドバイスをよろしくお願いします。

  • VB.NETでボタンクリックイベントで次のコントロールへ

    VB開発初心者です。 VB.NETでWindowsMobile5.0開発してます。 .NETCONPACTFreameWork2.0です。 TABキーで移動するように ボタンクリックイベントで次のコントロールへFocusを移動させたいのですがうまく行きません。 下記の記述すればOKだと思いましたが、 Me.SelectNextControl(Me.ActiveControl, True, True, True, True) ActiveControlを.NETCONPACTFreameWorkがサポートしてませんでした。 ほかに良い方法ありませんでしょうか? 宜しくお願いします。

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

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

  • .Net ユーザーコントロールのイベント

    質問させていただきます。 環境はVB.NET2003 WindowsXPです。 あるユーザーコントロール(Form)にボタンが用意されており、そのユーザーコントロールを別のフォームAに貼り付けたとします。 この時、Aのコード内でユーザーコントロール上のボタンのClickイベントを取得する方法がございましたら、回答をよろしくお願いします。

  • テキストボックスの項目チェックをする場合どのイベントで?

    テキストボックスの入力内容が妥当か判断する場合はどのイベントで行いますか? 理想はチェックをしてエラーであれば、別のコントロールにフォーカスを移動させずに、現在のテキストボックスにフォーカスがある状態にしたいのです。 ACCESSのBeforeUpdateのようにキャンセルもでき、別のコントロールにフォーカスが移らずチェックするにはどのイベントでチェックすればよいですか?

  • ASP.NET 動的コントロールのフォーカス移動

    ASP.NET(VB)で開発しています。 Page_init時に生成されるテキストボックス1、2(動的コントロール)を表示します。 テキストボックス1のテキストチェンジイベント時に テキストボックス2にフォーカスが移動するようにしたいです。 テキストチェンジでPostBackが発生し、サーバ側でテキストボックス2.Focus() と記述しているのですが、動作は、テキストボックス2に フォーカスが移らず、画面上のどこにもフォーカスがあたっていない状態になってしまいます。 動的コントロールへ、PostBack時にフォーカス移動させるにはどうしたら良いか お願いいたします。

  • UserControl内の複数のTextBoxでKeyDownイベントが使えない

    VB2005の初心者です。 色々調べたつもりなのですが解らなくてよろしくお願いします。 フォームのTab移動を[Enter]きーで移動するようにしているのですが UserControlに複数のTextBoxを配置しUserControlを作成したものを、フォームに配置するとKeyDownイベントが取得できないというか、フォームに配置したTextBoxなどにフォーカスが移動してしまいます。 UserControl内のTextBoxのTabIndex順に移動させる方法などご存知の方いらっしゃいましたらご教授願えないでしょうか。 ProcessDialogKeyのオーバーライト辺りまでは調べたのですがよく解らなくてお願いします。

  • VB2005 のイベントについて

    いつもお世話になっています。 OS:Windows 2000 言語:VB2005 Express Edition で作成しているのですが、イベントの質問があります。 TextBoxのフォーカスを取得した時に、 そのTextBoxに設定されている文字列を選択させようと思い TextBoxのEnterイベントでSelectAllをしているのですが、 この場合ですと、マウスでクリック選択した時には文字列が選択されません。 Private Sub txt_id_Enter(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txt_id.Enter txt_id.SelectAll() End Sub VB6.0 では Private Sub txt_id_GotFocus txt_id.SelStart = 0 txt_id.SelLength = Len(ob_Textbox.Text) End Sub 上記の通り、GotFocusイベントを使用しており、Tabキーでフォーカス取得していた時も マウスで選択している時も変わらず文字列は選択されていました。 VB2005のGotFocusイベントでは、一旦選択されるのですが すぐに選択は解除されてしまうのです。 他にVB6.0のGotFocusと同等のイベントや、対応策などありませんでしょうか? よろしくおねがいいたします。

  • イベントが発生しません・・・

    Excel VBAでの質問です。 フォーム上にコントロールはTextBox1つしかありません。 商品コードを入力させ、入力値より商品データを検索、編集させようと思います。 コードを入力しエンターキーを押しても、フォーカスの移動場所が無いためかExitイベントが発生しません。 閉じるボタン[×]でフォームを閉じると、Exitイベントは発生するようです。 入力後はフォームは閉じてもかまいませんが、イベントを発生させることはできるでしょうか。 どなたか教えてください。