请大虾们指教:怎样在一个panel中连续的添加button?

我想要的效果是:假如有一个text框和一个“添加”按钮,第一次点击“添加”,panel中添加一个button,并且将text框中的内容做为button的值,第二次点击时,再出现一个button,并且将修改过后的text框中的内容做为button的值!我做出来的结果是:第二次点击“添加”,出现的button会覆盖第一个button!请各位大虾不吝赐教!!!在线等我说错了,不是第二个button把第一个覆盖了,而是直接就替换了!我想让两个button都显示出来,不知道怎么实现?我不是在做winForm,另外,panel中能在添加FlowLayoutPanel吗?
2026年09月20日 17:48
有5个网友回答
网友(1):

实现的方法有两个:
1.使用动态填加控件的办法:controls.add()
2.直接放两个button到panel内,用代码来控制他们的显示和位置,以及显示的内容。

使用1方法必须在页面LOAD的时候进行,同时避免页面回发的时候出问题,你需要多测试几次。。
使用方法2就很简单了。。

网友(2):

估计只是控件位置原因,后一个盖住了前一个
你在Panel中加一个FlowLayoutPanel试试看吧,这个控件会顺序的往它自己的网格里填充子控件,就不会出现“覆盖”的问题了
或者你每次填充的时候指定一下填充位置,但这样感觉不太好,要“调整”的精度很高才行,不然也会出现不完整的覆盖问题

“不是布局的问题, button2把button1给覆盖了”覆盖了不就是布局问题?

我不太明白,我测试了一下,FlowLayoutPanel是可以的

网友(3):

Button btn=new Button();
btn.text="";
panel.controls.add(btn);

随手写的,是这个意思

如果你用绝对位置,可能会有点问题,用相对位置没有问题,会按顺序加

网友(4):

去看c#里面的button的声明,里面有button的坐标,大小等所有的信息,你按button按钮的时候把声明写一遍就OK了

网友(5):

由后台代码创建Buttton对象,并绑定到panel上就可以了。