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

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

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

Re[2]: 次にフォーカスが移動するコントロールを取得する。


(過去ログ 113 を表示中)

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

■66748 / inTopicNo.1)  次にフォーカスが移動するコントロールを取得する。
  
□投稿者/ ゆきみ (1回)-(2013/05/22(Wed) 08:29:57)

分類:[.NET 全般] 

VB2008 win7です。

Tabキーなどで、フォーカス遷移を行っているのですが、
A、B、Cというテキストボックスがあった場合に、次にフォーカスあたるコントロールを調べ、メソッドの呼び出しを制御したいと思います。

例えば、BからCへ移動したときには呼びだすけれども、BからAの場合は呼び出さないというようなことをやりたいと思います。
コントロールのLeaveイベントでは次に移動するのがAなのかCなのか分からないと思うのですが、うまい方法は何かありますでしょうか?

アイディアいただければと思います。
引用返信 編集キー/
■66749 / inTopicNo.2)  Re[1]: 次にフォーカスが移動するコントロールを取得する。
□投稿者/ shu (322回)-(2013/05/22(Wed) 08:47:42)
2013/05/22(Wed) 08:56:13 編集(投稿者)
No66748 (ゆきみ さん) に返信

A,B,Cだけのように少ないコントロールなら

各コントロールのEnterイベントで
FLGを持たせるなどで処理が可能です。


またActionを利用した実装例として
こんな書き方も出来ます。実行確認はしていません。

Private act as Action = Nothing

Private Sub A_Enter() Handles A.Enter
    act = Nothing
End Sub

Private Sub B_Enter() Handles B.Enter
    act = Nothing
End Sub

Private Sub B_Leave() Handles B.Leave
    act = AddressOf 実際の処理
End Sub

Private Sub 実際の処理()
    〜 ここに処理を書く〜
End Sub

Private Sub C_Enter() Handles C.Enter
    If act isnot Nothing Then
        act()
    End If
    act = Nothing
End Sub



#2010の実装を書いてしまったので一部修正

引用返信 編集キー/
■66750 / inTopicNo.3)  Re[1]: 次にフォーカスが移動するコントロールを取得する。
□投稿者/ 魔界の仮面弁士 (224回)-(2013/05/22(Wed) 09:05:27)
No66748 (ゆきみ さん) に返信
> Tabキーなどで、フォーカス遷移を行っているのですが、
> A、B、Cというテキストボックスがあった場合に、次にフォーカスあたるコントロールを調べ、メソッドの呼び出しを制御したいと思います。
どういった制御を行いたいのかにもよりますが、
検証イベントを使う事で代用できないでしょうか。
(質問にある機能とは異なります)
http://bbs.wankuma.com/index.cgi?mode=all&namber=895&KLOG=1
引用返信 編集キー/
■66785 / inTopicNo.4)  Re[2]: 次にフォーカスが移動するコントロールを取得する。
□投稿者/ ゆきみ (2回)-(2013/05/24(Fri) 00:29:51)
No66750 (魔界の仮面弁士 さん)


shuさん、魔界の仮面弁士さんありがとうございます。
お二人のご意見を参考にして、無事に目的の動作を達成することができました!
今回は以下のURLを参考にさせていただきました!
http://bbs.wankuma.com/index.cgi?mode=all&namber=895&KLOG=1
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -