日期:2014-05-18  浏览次数:21317 次

『C#』改变应用程序鼠标光标
普通的C#控件我都知道怎么改,就是设置Cursor属性,把光标对象设置过去就行了。但是,现情况有点特殊,具体如下。

C#项目引用了VB(?)的FlexGrid控件,全名MSFLEXGRID;
在窗口上设置了自定义光标后,成功;
当鼠标进入该控件,光标就变回来了,又成了Default状态;
原来是鼠标进入该控件后,光标由控件自己维护,由于没有修改其内部的光标值,所以还是默认状态;
查询控件属性和方法,只有一个和光标有关的,叫DefaultCursor的属性,刚看到还暗爽,结果才发现时protected的;

不知道怎么办了,特地求助大家~~~

------解决方案--------------------
首先一个是我没有你说的控件,所以我也没实际实现过你想要的效果,我只是提出我的想法:
如果你能继承你说的控制,那么试试override OnMouseMove,然后在生成的代码:

protected override void OnMouseMove(MouseEventArgs e)
{
base.OnMouseMove(e);
//在这里修改Cursor
}
尝试一下这样看看可行不。