首页 > 代码库 > 输入坐标和输出坐标——图片框上动态加载按钮及响应事件
输入坐标和输出坐标——图片框上动态加载按钮及响应事件
在实际的项目中总会遇到一些需要动态加载一些控件,并且加载控件的响应事件的代码。现在写一个简单的例子,主要说一下里面的一些关键点:使用鼠标在窗体上的图片框中动态的添加按钮 。动态的去加载事件,肯定是需要使用对象类动态的生成,动态事件,必须要使用委托去实现。还有一个就是“动态”的实现过程,打算鼠标点下去,在鼠标单击的位置添加上按钮。
环境: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) 将输入坐标转化。如果不转换也就是使用上面的代码会发现,窗体不是全屏的时候
输入坐标和输出坐标——图片框上动态加载按钮及响应事件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。