| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 476 人关注过本帖
标题:各位大侠帮小弟看下错在哪了
只看楼主 加入收藏
BlizzardKen
Rank: 1
来 自:广西桂林
等 级:新手上路
帖 子:36
专家分:0
注 册:2011-4-26
结帖率:33.33%
收藏
已结贴  问题点数:10 回复次数:4 
各位大侠帮小弟看下错在哪了
namespace _2_1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            
        }

        Button[] btns = new Button[10];
        int i;
        private void Productbutton_Click(object sender, EventArgs e)
        {
            for ( i =0; i <10; i++)
            {
                btns[i] = new Button();
                btns[i].Location =new System.Drawing.Point(0 + 70 * (i % 10),100 + 70 * (i / 10));
                btns[i].TabIndex = 1;
                btns[i].Name = (i + 1).ToString();
                btns[i].Width = 70;
                btns[i].Height = 30;
                btns[i].Text = (i + 1).ToString();
                btns[i].Click += new System.EventHandler(this.btns_Click);
                this.Controls.Add(btns[i]);
               

            }
        }
        private void btns_Click(object sender, System.EventArgs e)
        {
            
            MessageBox.Show(" 这是第"+((Button)sender).Text + "个按钮");
            
        }


     
        private void Deletebutton_Click(object sender, EventArgs e)
        {
           // Controls.Remove();
            for (i = 0; i < 10; i++)
            {
               
                this.Controls.Remove(btns[i]);
            }
        }

   

     
    }
}
我这样生成10个动态按钮
点击生成一次再点击删除是可以把这10个生成的按钮删除去,但是多点几次生成按钮之后再点删除按钮就没反应了。
各位高手帮我看下该怎么改?
搜索更多相关主题的帖子: private void public 
2012-04-25 15:12
CMYK
Rank: 2
等 级:论坛游民
帖 子:67
专家分:74
注 册:2011-9-19
收藏
得分:10 
是button初始化的问题,有两种解决方法:把数组放在其他位置初始化,比如添加个按钮让它负责初始化按钮,或者加个bool判断不要让button重复初始化
2012-04-25 17:26
BlizzardKen
Rank: 1
来 自:广西桂林
等 级:新手上路
帖 子:36
专家分:0
注 册:2011-4-26
收藏
得分:0 
回复 2楼 CMYK
谢谢这位大哥哈,小弟刚学的C
2012-04-25 18:57
BlizzardKen
Rank: 1
来 自:广西桂林
等 级:新手上路
帖 子:36
专家分:0
注 册:2011-4-26
收藏
得分:0 
回复 2楼 CMYK
如果是通过加bool来判断的话,该怎么加?
2012-04-25 20:13
lj_a_b
Rank: 2
等 级:论坛游民
帖 子:29
专家分:10
注 册:2012-1-9
收藏
得分:0 
程序代码:
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            
        }

        Button[] btns = new Button[10];
        int i;
        bool sign = false;

        private void Productbutton_Click(object sender, EventArgs e)
        {
            if (sign == false)
            {
                for (i = 0; i < 10; i++)
                {
                    btns[i] = new Button();
                    btns[i].Location = new System.Drawing.Point(0 + 70 * (i % 10), 100 + 70 * (i / 10));
                    btns[i].TabIndex = 1;
                    btns[i].Name = (i + 1).ToString();
                    btns[i].Width = 70;
                    btns[i].Height = 30;
                    btns[i].Text = (i + 1).ToString();
                    btns[i].Click += new System.EventHandler(this.btns_Click);
                    this.Controls.Add(btns[i]);
                }
                sign = true;
            }
        }

        private void btns_Click(object sender, System.EventArgs e)
        {            
            MessageBox.Show(" 这是第"+((Button)sender).Text + "个按钮");            
        }

        private void Deletebutton_Click(object sender, EventArgs e)
        {
           // Controls.Remove();
            for (i = 0; i < 10; i++)
            {               
                this.Controls.Remove(btns[i]);
            }
            sign = false;
        }

    }

根据二楼的提示,我觉得应该是这样的
2012-04-27 10:21
快速回复:各位大侠帮小弟看下错在哪了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024840 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved