码迷,mamicode.com
首页 > 其他好文 > 详细

输入坐标和输出坐标——图片框上动态加载按钮及响应事件

时间:2015-01-15 23:50:00      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:坐标转换   动态控件   动态方法   

         在实际的项目中总会遇到一些需要动态加载一些控件,并且加载控件的响应事件的代码。现在写一个简单的例子,主要说一下里面的一些关键点:使用鼠标在窗体上的图片框中动态的添加按钮 。动态的去加载事件,肯定是需要使用对象类动态的生成,动态事件,必须要使用委托去实现。还有一个就是“动态”的实现过程,打算鼠标点下去,在鼠标单击的位置添加上按钮。


         环境:Visual Studio 2010, .Net FrameWork 3.5



 private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
        {
            Button btn = new Button();
            btn.Size = new System.Drawing.Size(20, 20);
            Point Pointlocation = new Point();            
            //Pointlocation = new Point(e.X, e.Y);
            //输入坐标和输出坐标的转换
            Pointlocation= pictureBox1.PointToClient(new Point(e.X, e.Y));
            Pointlocation.X += pictureBox1.Parent.Location.X;
            Pointlocation.Y += pictureBox1.Parent.Location.Y+32;
            btn.Location = Pointlocation;
            pictureBox1.Controls.Add(btn);
            btn.Click += new EventHandler(delegate{Message();});
        }
        private void Message()
        {
            MessageBox.Show("动态触发事件");
        }

 知识点一:    输入坐标和输出坐标

使用方法PointToClient(point) 将输入坐标转化。如果不转换也就是使用上面的代码会发现,窗体不是全屏的时候

        


输入坐标和输出坐标——图片框上动态加载按钮及响应事件

标签:坐标转换   动态控件   动态方法   

原文地址:http://blog.csdn.net/wujianyouhun/article/details/42749835

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!