C#中怎么在新建window窗体里面 自定义 鼠标光标大小 , 我自定义的光标图片无论多大

C#中怎么在新建window窗体里面自定义鼠标光标大小,我自定义的光标图片无论多大,显示出来的都是一样大小。... C#中怎么在新建window窗体里面 自定义 鼠标光标大小 , 我自定义的光标图片无论多大 ,显示出来的都是一样大小。 展开
 我来答
fs剑龙
2015-04-25 · 超过66用户采纳过TA的回答
知道答主
回答量:118
采纳率:0%
帮助的人:86.7万
展开全部
在C# 加载光标的多种方法。
首先最简单的当然是调用系统的光标集。例如:
Cursor m_Cursor = Cursors.Cross;//加载一个十字光标
但系统里的光标有时并不能满足你的需求,这就必须要自己定义了。
可以通过以下几种方法,实现自定义光标:
1.
Cursor m_Cell = new Cursor(new MemoryStream(Properties.Resources.Cursor_Cell));

其中 Properties.Resources.Cursor_Cell 是资源文件中已定义的光标
你可以通过多种方法自己制作光标文件,然后保存到资源文件中再进行调用。

2.

Bitmap myNewCursor = Properties.Resources.Cell;
Cursor m_Cell = new Cursor(myNewCursor.GetHicon());
其中 Properties.Resources.Cell 是资源文件中JPG格式图片
这种方法相对第一种方法的好处是JPG格式图片比光标文件占用的空间小得多,
但加载的光标往往是黑白两色。

3.
想占用较小空间,又想使光标色彩斑斓,则可用这种方法,
用代码实现光标绘制。

public Cursor myCell()
{

Bitmap tmp_Cursor = new Bitmap(16, 16);//光标大小一般为16*16个像素
Graphics g = Graphics.FromImage(tmp_Cursor);

SolidBrush tmp_Brush = new SolidBrush(Color.Black);//黑色边框
SolidBrush tmp_BrushM = new SolidBrush(Color.LightBlue);//亮蓝色底色

Rectangle tmp_Rect = new Rectangle(4, 0, 8, 16);//边框
Rectangle tmp_RectM = new Rectangle(0, 4, 16, 8);

Rectangle tmp_Rect2 = new Rectangle(5, 1, 6, 14);
Rectangle tmp_RectM2 = new Rectangle(1, 5, 14, 6);

g.Clear(Color.FromArgb(0, 0, 0, 0));

g.FillRectangle(tmp_Brush, tmp_Rect);
g.FillRectangle(tmp_Brush, tmp_RectM);

g.FillRectangle(tmp_BrushM, tmp_Rect2);
g.FillRectangle(tmp_BrushM, tmp_RectM2);

Cursor m_Cell = new Cursor(tmp_Cursor.GetHicon());

g.Dispose();
tmp_Cursor.Dispose();

return m_Cell;
}

以上代码实现了一个类似微软Excel 单元格的光标,亮蓝色底色,黑色边框。
百度网友ce7f3ccb4
2015-04-25 · TA获得超过1950个赞
知道大有可为答主
回答量:2299
采纳率:0%
帮助的人:1905万
展开全部
鼠标有个自适应极限,只能小不能大,跟你的尺寸没关系
追问
我就是想把它弄小呀   怎么弄
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式