当前位置:首页 > 开发 > C# > 正文内容

C# 捕获鼠标

C#3年前 (2022-11-03)
方式一-API    
/// <summary>
/// 捕获鼠标
/// </summary>
/// <param name="hwnd"></param>
/// <returns></returns>
[DllImport("user32.dll", SetLastError = true)]
public static extern bool SetCapture(IntPtr hwnd);
/// <summary>
/// 释放鼠标
/// </summary>
/// <returns></returns>
[DllImport("user32.dll", SetLastError = true)]
public static extern bool ReleaseCapture()


方式二    
Control.Capture;


通过捕获鼠标改变指针    
Cursor cursor;
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
    Bitmap bitmap = Properties.Resources._111;
    cursor = new Cursor(bitmap.GetHicon());
    pictureBox1.Cursor = cursor;
    SetCapture(pictureBox1.Handle);
    bitmap.Dispose();
}
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
    cursor.Dispose();
    ReleaseCapture();
    pictureBox1.Cursor = Cursors.Default;
}



转载请注明出处。

本文链接:http://www.pythonopen.com/?id=245

相关文章

C# ListView 虚拟化加载百万数据

private void Form1_Load(object send...

C# 获取Windows系统目录

Environment.GetFolderPath(Environment.SpecialFolde...

C# Winform 禁止控件因方向键切换焦点

protected override bool ProcessCmdK...

C# 获取程序运行路径

AppDomain.CurrentDomain.BaseDirectory...

C# 跳出foreach循环

在 C# 中,如果你想在 foreach 循环内部提前跳出当前这一轮循环,继续执行下一轮循环,可以使...

C# 缩减代码量的一些方式

static void Main() { Thread thre...