I had a form that didn't seem to want to follow the TabIndex that I had set on a number of controls. The cursor jumped around passed controls with a lower index and then would come back to them later. The difference between this form and others was that this form had a panel on it that hid a couple of controls until they were displayed upon the click of a radio button. I did notice that if I deleted the controls and recreated them in the order I wanted them to tab, they would tab correctly. However, starting over is a lousy fix so I dug into it a bit deeper. After debugging I found that the TabIndex on the controls within the panel were being reset. It also turns out that even though a Panel control has no mention of a TabIndex property in the Properties pane or with intellisense, it does in fact have that property. Setting the Panel's TabIndex in the form load event fixed the issue for me. To make it so I wouldn't get bit by this again, I set the panel's TabIndex to the index of the first control in the panel.