- PR -

画面初期表示時にボタンにフォーカスをあてない方法

1
投稿者投稿内容
シロ
常連さん
会議室デビュー日: 2005/05/15
投稿数: 34
投稿日時: 2008-07-02 10:20
煮詰まってしまったので、どなたか教えてください。

環境は、.net2005のC#です。

画面(ラベルとボタンを設置)を表示したときに、
ボタンにフォーカスがあたっています。
画面の初期表示時にボタンにフォーカスをあてない方法を教えてください。

画面を表示した時は、フォーカスが当たっていないけれど、
タブを押下でフォーカスを当てたいです。
もちろん、Enterにも反応するように。

ShowFocusCuesを使ってみようとしたのですが、
うまく使いこなせず。。。
これだと、常にフォーカスがあたらない気がします。

よろしくお願いします。

[ メッセージ編集済み 編集者: シロ 編集日時 2008-07-02 12:02 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-07-02 11:18
とあるイベントにて this.ActiveControl = null; なんていかがですか。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Toshi
ベテラン
会議室デビュー日: 2007/09/18
投稿数: 68
お住まい・勤務地: 関東のどっか
投稿日時: 2008-07-02 11:18
引用:

画面を表示した時は、フォーカスが当たっていないけれど、
タブを押下でフォーカスを当てたいです。
もちろん、Enterにも反応するように。


なぜこのようにしたいのでしょうか。
ユーザーのEnter連打とかを警戒してですかね??

FormのShownイベントにおいて、
this.ActiveControl = null;
とすれば解除できます。
※FormのAcceptButtonの設定はしないでください。

Loadイベント確認したら無理でした・・・

[ メッセージ編集済み 編集者: Toshi 編集日時 2008-07-02 11:41 ]
シロ
常連さん
会議室デビュー日: 2005/05/15
投稿数: 34
投稿日時: 2008-07-02 12:02
回答ありがとうございます。
this.ActiveControl = null;をShownの中で実行します。

ボタンの扱いが同列なため、このような挙動にしたかったのです。

1

スキルアップ/キャリアアップ(JOB@IT)