TableLayoutPanel:如何通过动态添加的控件使用Tab键导航?

时间:2015-09-18 12:44:02

标签: c# winforms visual-studio-2013

我有一个包含动态添加的TableLayoutPanel的表单,其中包含一些动态添加的标签,TextBox,CheckBox。我正在获得我想要的可视化,但我正在努力获得" tab键"工作从一个控件移动到另一个控件。 我试图添加一个:

control.TabIndex = tabIndex++;
control.TabStop = true;

但这似乎没有任何影响......

这是(测试的)存根代码:

class MyForm : Form
    {
    public MyForm()
        {
            InitializeComponent();

            string[] titles = {"first","second"};
            var myLayout = new TableLayoutPanel();
            myLayout.AutoSize = true;
            int myTabIndex = 1; //Not really necessary
            int rowNumber = 0;

            foreach (var title in titles)
            {
                var label = new Label();
                label.Text = title;
                myLayout.Controls.Add(label, 0, rowNumber);
                var control = new TextBox();
                control.TabIndex = myTabIndex++; //Not really necessary
                myLayout.Controls.Add(control, 1, rowNumber);
                rowNumber++;
            }
            this.Controls.Add(myLayout);
        }
    }

这是我得到的窗口,我无法使用Tab键从第一个字段导航到第二个字段。

Simple TableLayourPanel form

更新
应用Visual Studio 2013 Update 5没有帮助。

1 个答案:

答案 0 :(得分:0)

我的项目中肯定有些东西被破坏了。我能做的最好的事情就是继续使用一个新的干净的Windows窗体项目,现在一切正常。 enter image description here