我有几个控件,我在运行时创建,然后添加到某种形式的容器(在我的情况下是一个面板)。在创建控件时,我还设置了每个控件的TabIndex。现在,我从最后一个控件(TextBox#4)开始并继续前进,以便第一个控件最终到达顶部。
我考虑到我在设置TabIndex
时反向执行此操作,但是当我实际运行代码并按Tab键时,它总是从#4跳转到> #3 - > #2 - > #1(按照他们创建的顺序,而不是像我想要的那样从上到下)。调试时我可以看到每个控件TabIndex
设置正确(TextBox#1.TabIndex = 1,...,TextBox#4.TabIndex = 4)我是否遗漏了某些内容或是否有一些解决方法?
代码:
Panel pnl = new Panel();
(for int i = fields.Count -1; i <= 0; i--)
{
Label lbl = new Label();
//do some stuff with label
lbl.TabIndex = (i + 1);
pnl.Controls.Add(lbl);
}
答案 0 :(得分:0)
来自:https://msdn.microsoft.com/en-us/library/bd16a8cw%28v=vs.80%29.aspx?f=255&MSPPError=-2147217396
默认情况下,绘制的第一个控件的TabIndex值为0 第二个TabIndex为1,依此类推。
所以我只能假设您的+1不正确。
Panel pnl = new Panel();
(for int i = fields.Count -1; i <= 0; i--)
{
Label lbl = new Label();
//do some stuff with label
lbl.TabIndex = i;
pnl.Controls.Add(lbl);
}