ユーザーコントロールにてGotFocusを発生させるには?

解決


ATTU  2005-06-14 13:18:19  No: 122634  IP: [192.*.*.*]

日付入力用のコントロールを作成しているのですが
ユーザーコントロール自身でのGotFocusイベントを発生させたいのですが

ユーザーコントロール内のTextBoxにGotFocusが発生時では何か処理が
うまくいきませんので コントロール自身で発生させたいのです。

環境 OS:2003 VB:.net2003
よろしくお願いします。

編集 削除
ガ弐号  2005-06-14 14:04:47  No: 122635  IP: [192.*.*.*]

VB6ですか?
6しか分からないですけど、多分、

UserControl_GotFocus

で、いけませんか?

編集 削除
ガ弐号  2005-06-14 14:06:24  No: 122636  IP: [192.*.*.*]

ごめんなさい、、、
環境かいてありましたね…
.Netは分からないです…
お邪魔しました^^;

編集 削除
じゃんぬねっと  URL  2005-06-14 14:23:18  No: 122637  IP: [192.*.*.*]

> ユーザーコントロール内のTextBoxにGotFocusが発生時では何か処理が
うまくいきませんので 

# ずいぶん抽象的な表現ですね。

GotFocus は低水準イベントなので Enter イベントを使うようにしましょう。
LostFocus イベントも同様に Leave イベントが代替になります。

編集 削除
特攻隊長まるるう  2005-06-14 14:31:03  No: 122638  IP: [192.*.*.*]

あ。遅かった。…リンクも貼ったからそのまま投稿しちゃえw
[Control.GotFocus イベント]ヘルプより抜粋
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwindowsformscontrolclassgotfocustopic.asp
>メモ  GotFocus イベントおよび LostFocus イベントは、〜
>低水準のフォーカス イベントです。〜
>Enter イベントおよび Leave イベントを使用する必要があります。

System.Windows.Forms.UserControl を継承してるなら
Control.Enter イベントがちゃんと用意されていますので
それを使って下さい。

編集 削除
ATTU  2005-06-14 16:22:25  No: 122639  IP: [192.*.*.*]

ガ弐号さん・じゃんぬねっとさん・特攻隊長まるるうさん
ありがとうごぜいます。

>うまくいきませんので
他のコントロールもUserControlで入力時
BackColorを変えたりしているで

TextBox1からTextBox2(TextBox1にもどす)を
 "Enter"で処理(マスタチェックなど)すると
TextBox1 Enter      
TextBox1 GotFocus   
TextBox1 Leave      
TextBox2 Enter      
TextBox1 Enter      
TextBox1 Leave      
TextBox1 Enter      
と発生してしまい色がBackColorがのこってしまう現象がでてしまい

また"Leave"で処理すると
TextBox1 LostFocus  
TextBox1 Leave 
   ここでTextBox1.Focus     
TextBox1 Enter      
TextBox1 GotFocus   
TextBox1 LostFocus  
TextBox1 Leave      
TextBox1 Enter      
TextBox1 GotFocus
と発生し値の選択(ハイライト?)が出来ない
上記はプログラムで制御できるが

出来ればプログラムでは何もしたくないのです。


別の質問になってしまうかもしれないのですが
ユーザーコントロールで"入力状態になった”を
取得することはできるのですか?

編集 削除
じゃんぬねっと  URL  2005-06-14 16:40:35  No: 122640  IP: [192.*.*.*]

コンテナについてもうちょっと勉強してみる必要があるかな。

編集 削除
ATTU  2005-06-14 19:20:03  No: 122641  IP: [192.*.*.*]

>コンテナについてもうちょっと勉強してみる必要があるかな
調べてみます。

ユーザーコントロールもGotFocus・LostFocusを使用しないで
作成するようにします。

編集 削除