如何在c#中实现单击一个按钮后,再在窗体内点击一次鼠标,把该按钮移动到第二次点击的位置? 20
rt,新手求教。privatevoidbutton1_Click(objectsender,EventArgse){//如何添加一次单击触发的事件?}...
rt,新手求教。
private void button1_Click(object sender, EventArgs e)
{
//如何添加一次单击触发的事件?
} 展开
private void button1_Click(object sender, EventArgs e)
{
//如何添加一次单击触发的事件?
} 展开
3个回答
展开全部
楼上说的可以
具体点,在你的class From1中,构造函数上面加一个
bool isClick=false;
在button1_Click函数中
isClick=true;
为窗体添加一个Click响应消息
在From1_Click函数中
if(isClick)
{
button1.Location=new Point(e.X-button1.Size.Width/2,e.Y-button1.Size.Height/2);
isClick=false;
}
具体点,在你的class From1中,构造函数上面加一个
bool isClick=false;
在button1_Click函数中
isClick=true;
为窗体添加一个Click响应消息
在From1_Click函数中
if(isClick)
{
button1.Location=new Point(e.X-button1.Size.Width/2,e.Y-button1.Size.Height/2);
isClick=false;
}
追问
方法可行,但是我实际上想继承一个带有这个功能的button怎么写?
追答
那样也行啊 就是在继承的类中加一个移动的方法,最终还是要在窗体的单击函数中调用这个方法,毕竟你点的是窗体,无法引起按钮的任何消息响应,只能引起窗体的单击消息
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义一个全局变量isClick=false
button1_Click里isClick=true
form_Click里
if isClick=true
按钮设置新位置
isClick=false
button1_Click里isClick=true
form_Click里
if isClick=true
按钮设置新位置
isClick=false
追问
方法可行,但是我实际上想继承一个带有这个功能的button怎么写?这种方法不行。
追答
你的要求是点击窗体,按钮移动到点击的位置,这涉及到窗体和点击的位置
光靠button自身的属性是无法实现的
你可以继承一个button类,里面增加一个移动到新位置的方法
当点击form的时候调用这个方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-05-04
展开全部
winform中还是asp.net中?
追问
windows form
追答
public partial class Form1 : Form
{
/// <summary>
/// 是否可移动
/// </summary>
private Boolean IsMove = false;
public Form1()
{
InitializeComponent();
}
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right || e.Button == MouseButtons.Left)
{
Point p = MousePosition;//获取位置
//其他需要执行的代码
if (IsMove)
{
this.button1.Location = p;
}
}
}
private void button1_Click(object sender, EventArgs e)
{
IsMove = true;
}
}
找到窗体的MouseClick事件,双击,在这个事件下,下 button移动的代码!
已试过,试的时候,请将窗体最大化!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询