在我的设计器中,我创建了一个tableLayoutPanel,其中每个单元格都有一个Checkbox。
我只想让从0到14的复选框可见。但是在运行时,它交换了12和14,我真的不知道为什么(见第二张图)。
我试图删除tableLayoutPanel并重新构建一个新的,但它再次交换了复选框...注意:如果我使所有复选框可见,则不会发生交换如果我在设计器中交换复选框14和12,它将在运行时正确显示,但我想知道为什么会发生这种交换
1rhkuytd1#
好的,我找到了原因,由于某种原因,在设计器中,当我在每一列中添加复选框时,在Form.Designer.cs中生成的代码将所有复选框添加到第一列。
this.tlpRob1Cartao.Controls.Add(this.ckRob1Cartao12, 0, 2); this.tlpRob1Cartao.Controls.Add(this.ckRob1Cartao13, 0, 2); this.tlpRob1Cartao.Controls.Add(this.ckRob1Cartao14, 0, 2); this.tlpRob1Cartao.Controls.Add(this.ckRob1Cartao15, 0, 2); this.tlpRob1Cartao.Controls.Add(this.ckRob1Cartao16, 0, 2); this.tlpRob1Cartao.Controls.Add(this.ckRob1Cartao17, 0, 2);
注意:第二个参数是列索引(零参数)我所需要做的就是编写(在Form.Designer.cs中)正确的列索引,如下所示:
this.tlpRob1Cartao.Controls.Add(this.ckRob1Cartao12, 0, 2); this.tlpRob1Cartao.Controls.Add(this.ckRob1Cartao13, 1, 2); this.tlpRob1Cartao.Controls.Add(this.ckRob1Cartao14, 2, 2); this.tlpRob1Cartao.Controls.Add(this.ckRob1Cartao15, 3, 2); this.tlpRob1Cartao.Controls.Add(this.ckRob1Cartao16, 4, 2); this.tlpRob1Cartao.Controls.Add(this.ckRob1Cartao17, 5, 2);
1条答案
按热度按时间1rhkuytd1#
好的,我找到了原因,由于某种原因,在设计器中,当我在每一列中添加复选框时,在Form.Designer.cs中生成的代码将所有复选框添加到第一列。
注意:第二个参数是列索引(零参数)
我所需要做的就是编写(在Form.Designer.cs中)正确的列索引,如下所示: