1.在一个无标题的窗体中用MOUSEMOVE事件判断鼠标坐标是否到达窗体的边缘,如果是的话将鼠标指针改为可调整窗体大小的双向箭头.
private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
if(0 == e.X)
{
this.Cursor = Cursors.SizeWE;
}
//改成这样就可以了,很奇怪(不能写成:e.X >= this.Width)
else if(e.X >= this.Width-2)
{
this.Cursor = Cursors.SizeWE;
}
else
{
this.Cursor = Cursors.Default;
}
}
2.但c#.net提供的cursor类只能做windows提供的光标形状之间的变换,cursor类貌似不支持动画以及多色的文件。我想要用自己的位图文件作为光标,应该怎么弄呢?
方案:使用鼠标文件定义自己的鼠标指针。
Cursor.Current=new Cursor(@"C:my.cur");
OR: Cursor Cur=new Cursor(@"C:my.cur");
this.Cursor = Cur;
在窗体的构造函数里加入上面的代码,就可以改变鼠标指针形状。
my.cur是鼠标位图文件,将鼠标图片直接作为文件加入到工程内,在工程内选择添加的文件后察看属性,修改生成属性值为嵌入的资源,这样就可以编译到exe里面取了。
my.cur是鼠标位图文件,将鼠标图片直接作为文件加入到工程内,在工程内选择添加的文件后察看属性,修改生成属性值为嵌入的资源,这样就可以编译到exe里面取了。