C#如何动态的生成多个pictureBox控件,生成的pictureBox能实现不同的点击事件?

其实我的想法是这样的:我想动态的生成多个pictureBox,点击pictureBox1,然后pictureBox1控件就显示“pictureBox1”,点击pictur... 其实我的想法是这样的:我想动态的生成多个pictureBox,点击pictureBox1,然后pictureBox1控件就显示“pictureBox1”,点击pictureBox2,显示“pictureBox2”,就是点击不同的picturebox,就显示该picturebox的名字 展开
 我来答
BlueEnchanter
2014-01-13 · TA获得超过199个赞
知道小有建树答主
回答量:339
采纳率:66%
帮助的人:175万
展开全部
private int _NO = 0;

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            
            int x = 0;
            int y =  _NO * 100;
            CreatePictureBox(_NO.ToString(), x, y);
            ++_NO;
            
        }


        private bool CreatePictureBox(string name, int locX, int locY)
        {
            try
            {
                PictureBox pb = new PictureBox();
                pb.Name = name;
                pb.Location = new Point(locX, locY);
                pb.BackColor = Color.LightBlue;
                this.Controls.Add(pb);
                pb.Click += new EventHandler(PictureBox_Click);
                return true;
            }
            catch
            {
                return false;
            }

        }


        private void PictureBox_Click(object sender, EventArgs e)
        {
            PictureBox pb = (PictureBox)sender;
            MessageBox.Show(pb.Name);
        }
阳光的雷咩咩
2014-01-13 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7653万
展开全部
        public Form1()
        {
            InitializeComponent();
            for (int i = 1; i <= 3; i++)
            {
                PictureBox p = new PictureBox();
                p.Name = "pictureBox" + i.ToString();
                p.Size = new System.Drawing.Size(50, 50);
                p.Top = 20;
                p.Left = i * 60;
                p.Click += F;
                p.BackColor = Color.Red;
                Controls.Add(p);
            }
        }

        private void F(object sender, EventArgs e)
        {
            PictureBox p = sender as PictureBox;
            MessageBox.Show(p.Name);
        }
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
milliondq
2014-01-13
知道答主
回答量:14
采纳率:0%
帮助的人:1.9万
展开全部
就别逃避 勇敢面对
追问
什么意思!能帮我解决这个问题吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式