title: WinForm Controls Navigation
body: <p>I would like to give user the option to navigate on WinForm controls by keyboard.</p>
  
  <p>I want to navigate on some of the controls, not on all of them.<br>
  For example- to navigate between radio buttons and skip on a button which also exist on the same form.  </p>
  
  <p>I set the TabStop property of the botton to "False", but when navigating and reaching the index of the button control, the button is not focused since as mentioned I set TabStop to false, but the navigation is waiting at the recent spot and does not continue.  </p>
  
  <p>Any ideas how can we avoid it?  </p>
  
  <p>Designer code:</p>
  
  <pre><code>    partial class Form1
  {
      /// &lt;summary&gt;
      /// Designer variable used to keep track of non-visual components.
      /// &lt;/summary&gt;
      private System.ComponentModel.IContainer components = null;
  
      /// &lt;summary&gt;
      /// Disposes resources used by the form.
      /// &lt;/summary&gt;
      /// &lt;param name="disposing"&gt;true if managed resources should be disposed; otherwise, false.&lt;/param&gt;
      protected override void Dispose(bool disposing)
      {
          if (disposing) {
              if (components != null) {
                  components.Dispose();
              }
          }
          base.Dispose(disposing);
      }
  
      /// &lt;summary&gt;
      /// This method is required for Windows Forms designer support.
      /// Do not change the method contents inside the source code editor. The Forms designer might
      /// not be able to load this method if it was changed manually.
      /// &lt;/summary&gt;
      private void InitializeComponent()
      {
          this.radioButton1 = new System.Windows.Forms.RadioButton();
          this.radioButton2 = new System.Windows.Forms.RadioButton();
          this.radioButton3 = new System.Windows.Forms.RadioButton();
          this.button1 = new System.Windows.Forms.Button();
          this.SuspendLayout();
          // 
          // radioButton1
          // 
          this.radioButton1.Location = new System.Drawing.Point(62, 62);
          this.radioButton1.Name = "radioButton1";
          this.radioButton1.Size = new System.Drawing.Size(104, 24);
          this.radioButton1.TabIndex = 1;
          this.radioButton1.TabStop = true;
          this.radioButton1.Text = "radioButton1";
          this.radioButton1.UseVisualStyleBackColor = true;
          // 
          // radioButton2
          // 
          this.radioButton2.Location = new System.Drawing.Point(62, 92);
          this.radioButton2.Name = "radioButton2";
          this.radioButton2.Size = new System.Drawing.Size(104, 24);
          this.radioButton2.TabIndex = 2;
          this.radioButton2.TabStop = true;
          this.radioButton2.Text = "radioButton2";
          this.radioButton2.UseVisualStyleBackColor = true;
          // 
          // radioButton3
          // 
          this.radioButton3.Location = new System.Drawing.Point(62, 122);
          this.radioButton3.Name = "radioButton3";
          this.radioButton3.Size = new System.Drawing.Size(104, 24);
          this.radioButton3.TabIndex = 3;
          this.radioButton3.TabStop = true;
          this.radioButton3.Text = "radioButton3";
          this.radioButton3.UseVisualStyleBackColor = true;
          // 
          // button1
          // 
          this.button1.Location = new System.Drawing.Point(62, 201);
          this.button1.Name = "button1";
          this.button1.Size = new System.Drawing.Size(159, 38);
          this.button1.TabIndex = 0;
          this.button1.TabStop = false;
          this.button1.Text = "button1";
          this.button1.UseVisualStyleBackColor = true;
          // 
          // Form1
          // 
          this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
          this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
          this.ClientSize = new System.Drawing.Size(284, 262);
          this.Controls.Add(this.button1);
          this.Controls.Add(this.radioButton3);
          this.Controls.Add(this.radioButton2);
          this.Controls.Add(this.radioButton1);
          this.Name = "Form1";
          this.Text = "Form1";
          this.ResumeLayout(false);
      }
      private System.Windows.Forms.Button button1;
      private System.Windows.Forms.RadioButton radioButton3;
      private System.Windows.Forms.RadioButton radioButton2;
      private System.Windows.Forms.RadioButton radioButton1;
  }
  </code></pre>
  
  <p>}</p>