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

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

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

ラジオボタンのフォーカスセット方法について


(過去ログ 5 を表示中)

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

■5385 / inTopicNo.1)  ラジオボタンのフォーカスセット方法について
  
□投稿者/ とら 二等兵(1回)-(2006/08/09(Wed) 13:30:16)

分類:[C#] 


分類:[C#] 

C#でWindowsフォーム上にGroupBoxを配置してその中にいくつかのRadioButtonを
配置する事によって、どれか一つを選択させるようなことをやっているのですが、
タブキーでフォーカスが移動してきた場合と同じ振る舞いをロジックで行なわせ
ることは可能でしょうか?

要するに、Focusメソッドを呼び出したいのですが、思ったようにいきません。

Tabキーの押下によってGroupBoxにフォーカスが移動した場合、次のような
振る舞いをするようです。
1.何れかのRadioButtonが選択されている場合
選択されているRadioButtonにフォーカスがセットされる。
2.どのRadioButtonも選択されていない場合
先頭のRadioButtonにフォーカスがセットされるが、選択状態に
成るわけではない。

上記の2のパターンと同様の処理をロジックで実装しようとしていろいろ
やってみたのですが、RadioButtonに対するFocus()とかSelect()などを
発行しますと当然ではありますが、選択状態になってしまいます。
何も選択されていない場合は、フォーカスは移るが値の変更は行なわない
方法を探しています。

何か手がかりがありましたら、よろしくお願いします。

0
引用返信 編集キー/
■5394 / inTopicNo.2)  Re[1]: ラジオボタンのフォーカスセット方法について
□投稿者/ まどか 少佐(199回)-(2006/08/09(Wed) 18:00:00)

分類:[C#] 

> RadioButtonに対するFocus()とかSelect()などを
> 発行しますと当然ではありますが、選択状態になってしまいます。
> 何も選択されていない場合は、フォーカスは移るが値の変更は行なわない
> 方法を探しています。

コントロールの性質上、必ず一つを選択しなければならない、という仕様に起因したものと思われます。

いずれにしろ、Checkedプロパティはそのコントロールで閉じて動作するようです。

0
引用返信 編集キー/
■5400 / inTopicNo.3)  Re[2]: ラジオボタンのフォーカスセット方法について
□投稿者/ とら 二等兵(2回)-(2006/08/10(Thu) 09:14:38)

分類:[C#] 

> コントロールの性質上、必ず一つを選択しなければならない、という仕様に起因したものと思われます。
回答ありがとうございます。確かに、そのようですね。

何も選択されていない状態が出来ないようになっていれば、良いのかもしれませんが、コントロールの仕様としてはなかなかそうも行かないというところのようですね。
その後、いろいろ考えましたが、結局Tabキーでのフォーカス移動と全く同じ操作を実現しようとすると・・・
1.選択されているボタンがあるかどうかを事前に調べる。
2.選択されているボタンが有る場合は、そのボタンにSelect()を発行する。
3.選択されているボタンが無い場合は、先頭ボタンに対して、Select()を発行後再度Checked=falseを発行する。

こんな感じで少々めんどくさいことをする必要があるという結論に達しました。
なかなか、厄介な仕様ですね。

解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -