none
ラジオボタンにTABキーでフォーカス遷移した場合のClickイベント RRS feed

  • 質問

  • 「ラジオボタンにタブで遷移した場合」の挙動が

    VisualStudio2003→2013のバージョンアップで、変わってしまったようで困っています。

    ①「VisualStudio2003 - .NET Framework 1.1」の挙動

     ラジオボタンにタブで遷移した場合

     ・Clickイベントが発生する

     ・GroupBox内にチェックが付いているラジオボタンが1つもない場合に、チェックが付く

    ②①で作成したプログラムを「VisualStudio2013 - .NET Framework 4.5.1」にバージョンアップした際の挙動

    ラジオボタンにタブで遷移した場合

     ・Clickイベントが発生しない

     ・GroupBox内にチェックが付いているラジオボタンが1つもない場合でも、チェックが付かない

    【質問事項】

    1.上記変更についての詳細/参考情報等をご存じであれば、ご教示いただきたいです。

    2.対応策(旧バージョンと同じ動作をさせる方法)について、以下の方法を考えていますが、問題ないでしょうか?

     ・Clickイベントが発生しない

     → Enterイベント、またはGotFocusイベントで代替

     ・GroupBox内にチェックが付いているラジオボタンが1つもない場合でも、チェックが付かない

     → Enterイベント、またはGotFocusイベントに、ラジオボタンのchecked=trueを追加

    以上

    ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

    >佐祐理さん、aviator_さん

    ご返信ありがとうございます。

    質問2については、最初からチェック付けておく、というのも1案として検討していました。

    その方がシンプルでいいのですが、要件的なところもあり、上記に記載した方法をとろうとしてます。

    ちなみに(追加質問になってしまいますが)、

    checked=trueの追加を、Enterに実装した場合と、GotFocusに実装した場合とで、

    違いが生まれるケースというのは考えられますでしょうか?





    • 編集済み potato15 2015年10月8日 3:53
    2015年10月8日 2:20

回答

  • .NET Framework 2.0 Windows フォーム ランタイム変更点

    グループ内の最初の RadioButton にフォーカスを置く場合、グループ内の最初の RadioButton はチェックされません。

    との記載がありました。

    フォーカスを得ただけで勝手にチェックされるべきではないという判断により変更されたものと推測します。

    その上で、従来通り最初のラジオボタンにチェックを付けても構わないというのであれば、「フォーカスを受けてからチェックを付ける」のではなく「表示時点で最初からチェックを付けておく」で済むかと。

    2015年10月8日 2:41
  • 2.についてだけお話させて頂きます。

    「Clickイベントが発生しない」事と「GroupBox内にチェックが付いているラジオボタンが1つもない場合でも、チェックが付かない」
    事が問題の真因なのだとしたら、書かれている対応策でも良い様な気がします。
    ※良いとは思いますが、「問題ないか?」と聞かれるとそれは回答出来ません。

    ただ個人的には、ラジオボタンのどれか一つを最初からチェック状態にしてしまった方が良いと思いますが、
    それだと不都合は有りますか?

    2015年10月8日 2:51

すべての返信

  • .NET Framework 2.0 Windows フォーム ランタイム変更点

    グループ内の最初の RadioButton にフォーカスを置く場合、グループ内の最初の RadioButton はチェックされません。

    との記載がありました。

    フォーカスを得ただけで勝手にチェックされるべきではないという判断により変更されたものと推測します。

    その上で、従来通り最初のラジオボタンにチェックを付けても構わないというのであれば、「フォーカスを受けてからチェックを付ける」のではなく「表示時点で最初からチェックを付けておく」で済むかと。

    2015年10月8日 2:41
  • 2.についてだけお話させて頂きます。

    「Clickイベントが発生しない」事と「GroupBox内にチェックが付いているラジオボタンが1つもない場合でも、チェックが付かない」
    事が問題の真因なのだとしたら、書かれている対応策でも良い様な気がします。
    ※良いとは思いますが、「問題ないか?」と聞かれるとそれは回答出来ません。

    ただ個人的には、ラジオボタンのどれか一つを最初からチェック状態にしてしまった方が良いと思いますが、
    それだと不都合は有りますか?

    2015年10月8日 2:51