关于C# 动态生成控件的问题

C#怎样能让通过点击一个按钮而动态生成的按钮不会消失;.usingSystem.Windows.Forms;..privatevoidbutton1_Click(obje... C#

怎样能让通过点击一个按钮而动态生成的按钮不会消失;
.
using System. Windows.Forms;
.
.
private void button1_Click(object sender, EventArgs e)
{
Addbt();
}

private void Addbt()
{
Button Addbt = new Button();
Addbt.Size = new Size(20,20);
Addbt.Location = new Point (x ,y);
Controls.Add(Addbt);
}

以上代码生成的按钮会在再一次生成新按钮时消失
展开
 我来答
百度网友5685470
2013-06-10 · TA获得超过403个赞
知道小有建树答主
回答量:138
采纳率:0%
帮助的人:150万
展开全部
并不是上一个按钮消失了,而是新生成有按钮覆盖了原来的按钮,Addbt.Location = new Point (x ,y);你这个里面的X和Y每次都是要改变的,否则生成有按钮都在同一个地方,而且大小都一样,你肯定只能看到一个;解决方法很多在,只要每次改变XY的值就行,比如可以给Addbt()函数加个参数为X、Y赋值;下面是我写的,楼主可以根据自己的实际情况决定如何改变X,Y的值;
int fx = 0, fy = 0, x = 0, y = 0;
private void button1_Click(object sender, EventArgs e)
{
int H = this.Height;
int W = this.Width;
Button btn = new Button();
btn.Size = new Size(20, 20);
x = x + 20;
if (x > W)
{
x = 0;
y += 20;
}
fx = x;
fy = y;
btn.Location = new Point(x, y);
Controls.Add(btn);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xy404750389
2013-06-10 · TA获得超过505个赞
知道小有建树答主
回答量:303
采纳率:0%
帮助的人:145万
展开全部
晕,是你新生成的按钮把原来生成的按钮覆盖了,你new print(x,y)中xy是显示座标,你生成按钮的座标一样,肯定覆盖的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浅坠枂C0
2013-06-10
知道答主
回答量:11
采纳率:0%
帮助的人:6.5万
展开全部
protected void Page_Load(object sender, EventArgs e)
{
Addbt();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式