| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 866 人关注过本帖
标题:【求助】关于按钮触发事件的问题
只看楼主 加入收藏
陈闲僧
Rank: 1
等 级:新手上路
帖 子:9
专家分:5
注 册:2012-12-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
【求助】关于按钮触发事件的问题
private void Form1_Load(object sender, EventArgs e)
        {
            Button[,] bt;
            bt = new Button[9,9];
            for (int i = 0; i < 9; i++)
            {
                for (int j = 0; j < 9; j++)
                {
                    bt[i, j] = new Button();
                    bt[i, j].Size = new Size(26, 26);
                    bt[i, j].Left = j * 26;
                    bt[i, j].Top = i * 26;
                    Controls.Add(bt[i, j]);
                 }
            }
        }
以上代码在vs的windows窗体应用程序中实现出现81个按钮呈9*9排列,我想点击这些按钮触发相应的时间,比如点击bt[0,0]则bt[0,0].Text="00".点击bt[0,1]则bt[0,1]="01"。求各位大神帮忙啊,小弟不胜感激。
搜索更多相关主题的帖子: private 
2013-09-01 19:58
陈闲僧
Rank: 1
等 级:新手上路
帖 子:9
专家分:5
注 册:2012-12-20
收藏
得分:0 
新手求教啊!!!求各位大神尝试了好多东西都失败啊
2013-09-01 20:01
陈闲僧
Rank: 1
等 级:新手上路
帖 子:9
专家分:5
注 册:2012-12-20
收藏
得分:0 
新手就这么无助吗
2013-09-01 20:02
Aviva_Wang
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:苏州
等 级:贵宾
威 望:26
帖 子:701
专家分:2382
注 册:2013-3-12
收藏
得分:20 
你可以自己定义一个事件,然后加到这些生产的按钮上

asp
2013-09-02 08:37
陈闲僧
Rank: 1
等 级:新手上路
帖 子:9
专家分:5
注 册:2012-12-20
收藏
得分:0 
回复 4楼 Aviva_Wang
这几天刚开学白天有课,晚上有时也有课,没怎么看,版主能够具体写段代码帮我实现吗,原谅我的理解能力有点差,拜托了,
2013-09-03 14:59
shangsharon
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
威 望:7
帖 子:221
专家分:1261
注 册:2012-3-25
收藏
得分:0 
程序代码:
private void Form1_Load(object sender, EventArgs e)
{
    Button[,] bt;
    bt = new Button[9,9];
    for (int i = 0; i < 9; i++)
    {
        for (int j = 0; j < 9; j++)
        {
            Button btnew= new Button();
            bt.Size = new Size(26, 26);
            bt.Left = j * 26;
            bt.Top = i * 26;
            btnew.Click += btn_Click;
            bt[i,j]= btnew;
            Controls.Add(bt[i, j]);
         }
    }
}

protected void btn_Click(object sender,EventArgs e)
{
    Button btn = sender as Button;

    btn.Text = (bt.Left / 26).ToString() + (bt.Top / 26).ToString();
}


[ 本帖最后由 shangsharon 于 2013-9-11 23:03 编辑 ]
2013-09-11 11:11
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
收藏
得分:0 
  由于26大小不能完全显示出来字符,所以改成了46大小,代码如下:   
        private void Form1_Load(object sender, EventArgs e)
        {
            Button[,] bt = new Button[9, 9];
            for (int i = 0; i < 9; i++)
            {
                for (int j = 0; j < 9; j++)
                {
                    bt[i, j] = new Button();
                   bt[i, j].Click+= delegate(object o, EventArgs s)
                 {
                         Button btn = o as Button;
                         btn.Text =""+ btn.Left / 46+btn.Top / 46;
                  };
//加这一句就可以了!!!
                    bt[i, j].Size = new Size(46, 46);
                    bt[i, j].Left = j * 46;
                    bt[i, j].Top = i * 46;
                    Controls.Add(bt[i, j]);
                }
            }
        }

[ 本帖最后由 303770957 于 2013-9-11 15:03 编辑 ]

♂ 死后定当长眠,生前何须久睡。♀
2013-09-11 14:59
丶弱水彡千
Rank: 5Rank: 5
来 自:地狱十九层
等 级:职业侠客
威 望:2
帖 子:203
专家分:369
注 册:2013-6-16
收藏
得分:0 
学习了

这个怎么玩
2013-09-11 16:58
快速回复:【求助】关于按钮触发事件的问题
数据加载中...
 
   



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

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