1

rdbAutoのボタンがあります。フォームがロードされると、rdbAutoがチェックされます。このラジオボタンのフォーカス(境界)を設定したいのですが、どうすればよいですか?

4

1 に答える 1

2

RadioButtonコントロールを次のようなものでオーバーライドできます

  public class SuperRadioButton : RadioButton
  {
    private bool showFocusCues = false;

    protected override void InitLayout()
    {
      this.GotFocus += (sender, args) =>
      {
        showFocusCues = true;
      };

      this.LostFocus += (sender, args) =>
      {
        showFocusCues = false;
      };
    }

    protected override bool ShowFocusCues
    {
      get
      { 
        return showFocusCues;
      }
    }

  }

これにより、ラジオボタンにフォーカスがあるときはいつでも境界が強制的に表示されます。

標準のラジオボタンの代わりにこのコントロールを使用してから、Form_ShownイベントでFocusメソッドを呼び出します

private void Form1_Shown(object sender, EventArgs e)
{
  superRadioButton1.Focus();
}
于 2012-08-29T04:55:35.403 に答える