大家好,我是C#和WinForms的新手。就像这个图片所示,我在DataGridView_A
中添加了DataGridView_B
,其中DataGridView_B
通常是不可见的,只有在调用某个函数时才可见。到这一步为止,一切都运行良好。然后我决定在DataGridView_B
中添加一个按钮Button_Close
,这样当我不需要DataGridView_B
时,我可以点击按钮,它将再次不可见。
我用来把B绑定到A的代码,运行良好:
this.DataGridView_A.Controls.Add(this.DateGridView_B);
...
this.DateGridView_B.Dock = System.Windows.Forms.DockStyle.Bottom;
我用来将按钮绑定到B的代码,它有问题:
this.DataGridView_B.Controls.Add(this.Button_Close);
只要我把button绑定到B上,这个按钮就消失了,然后我试着注解掉这行代码,这个按钮还是不见了。
有人知道为什么代码会这样吗?
注意:按钮是由Toolbox
手动添加的,而不是编程添加的。
1条答案
按热度按时间bmvo0sr51#
当您从
Toolbox
放入项而不是以编程方式添加项时,它们的位置绝对位于窗体的左上角。在您的示例中,我将做以下假设:
DataGridView_A
是400 x 800像素。DataGridView_B
是400 x 300像素。Button_Close
位于Point
(350,510)处。(相对于窗体的左上角)当您以编程方式将
Button_Close
添加到DataGridView_B
时,按钮的位置会被保留,但方式是错误的。(350,510),而不是相对于DataGridView_B
的Point
。这使Button_Close
位于Point
(350,510)相对于DataGridView_B
,因此它不在视图中。这可以通过添加按钮并将其位置移动到所需位置来修复。示例: