c# 窗口项目 鼠标事件 不响应
在窗口中添加一个picturebox,想鼠标移动到这个picturebox时光标变成十字,其他位置时还是小箭头,不知道为什么不响应。我看了一下找到的别人的工程,发现那个里...
在窗口中添加一个picturebox,想鼠标移动到这个picturebox时光标变成十字,其他位置时还是小箭头,不知道为什么不响应。我看了一下找到的别人的工程,发现那个里面有MouseLocator组件,我的工程里却没有,是由于这个原因吗?
如果这样的话,怎样才能添加那个控件呢,或者那是自己定义的组件?
下面是代码
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
if (e.X != currentPoint.X || e.Y != currentPoint.Y)
{
if ((e.X >=0 && e.X <= 404)
&& (e.Y >= 0 && e.Y <= 432))
{
currentPoint = new Point(e.X, e.Y);
this.Cursor = Cursors.Cross;
this.Invalidate(true);
}
else
{
this.Cursor = Cursors.Default;
}
}
} 展开
如果这样的话,怎样才能添加那个控件呢,或者那是自己定义的组件?
下面是代码
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
if (e.X != currentPoint.X || e.Y != currentPoint.Y)
{
if ((e.X >=0 && e.X <= 404)
&& (e.Y >= 0 && e.Y <= 432))
{
currentPoint = new Point(e.X, e.Y);
this.Cursor = Cursors.Cross;
this.Invalidate(true);
}
else
{
this.Cursor = Cursors.Default;
}
}
} 展开
展开全部
用以下2个事件配合,就行,你用错事件了。把我的代码放进去,都不用鼠标位置
private void pictureBox1_MouseLeave(object sender, EventArgs e)
{
this.Cursor = Cursors.Default;
}
private void pictureBox1_MouseEnter(object sender, EventArgs e)
{
this.Cursor = Cursors.Cross;
}
private void pictureBox1_MouseLeave(object sender, EventArgs e)
{
this.Cursor = Cursors.Default;
}
private void pictureBox1_MouseEnter(object sender, EventArgs e)
{
this.Cursor = Cursors.Cross;
}
更多追问追答
追问
还是不行……没有反应……
追答
注册这2个事件了吗?不会是直接把我的代码粘贴进去了吧?
我这里测试,能行。你还不行的话,把文件发我看看。或者把完整代码贴出来。
展开全部
MouseLocator组件应该是第三方或者自己写的dll,如果你要实现的功能简单,可以在事件中添加
追问
那我上面的代码应该没有问题,为什么却不响应呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
懂调试不。。自己设个断点看会不会进来。picturebox估计没有MouseMove事件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询