C#实现随鼠标移动窗体实例

 更新时间:2014年10月11日 09:08:06   投稿:shichen2014  
这篇文章主要介绍了C#实现随鼠标移动窗体实例,主要通过简单的窗体事件代码即可实现鼠标随窗体移动的功能,非常简单实用,需要的朋友可以参考下

本文实例讲述了c#实现随鼠标移动窗体的方法,分享给大家供大家参考。

具体实现方法如下:

private void MainForm_Load(object sender, EventArgs e) 
{ 
  //绑定事件 
  MouseMove += Form_MouseMove; 
  MouseDown += Form_MouseDown; 
} 
private Point _mousePoint; 
private void Form_MouseMove(object sender, MouseEventArgs e) 
{ 
  if (e.Button == MouseButtons.Left) 
  { 
    Top = MousePosition.Y - _mousePoint.Y; 
    Left = MousePosition.X - _mousePoint.X; 
  } 
} 
private void Form_MouseDown(object sender, MouseEventArgs e) 
{ 
  if (e.Button == MouseButtons.Left) 
  { 
    _mousePoint.X = e.X; 
    _mousePoint.Y = e.Y; 
  } 
} 

如果窗体有标题则改为:

Top -= SystemInformation.CaptionHeight;

如果有边框则改为:

Top -= SystemInformation.FormBorderSize.Height
Left -= SystemInformation.FormBorderSize.Width

希望本文所述对大家的C#程序设计有所帮助

相关文章

  • C#开发答题赢钱游戏(自动答题器)

    C#开发答题赢钱游戏(自动答题器)

    现在最火的直播游戏,那就是答题赢钱直播了,如百万英雄、芝士超人、花椒直播、冲顶大会等等,这些游戏的玩法都很简单,答对12题即可瓜分奖金了。玩法虽简单但是完全答对12题难度就挺高了,下面小编给大家带来了C#开发答题赢钱游戏,需要的朋友参考下吧
    2018-01-01
  • C#生成sitemap站点地图的方法

    C#生成sitemap站点地图的方法

    C#生成sitemap站点地图的方法,需要的朋友可以参考一下
    2013-04-04
  • C#编程实现动态改变配置文件信息的方法

    C#编程实现动态改变配置文件信息的方法

    这篇文章主要介绍了C#编程实现动态改变配置文件信息的方法,涉及C#针对xml格式文件的相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • C#图像处理之边缘检测(Sobel)的方法

    C#图像处理之边缘检测(Sobel)的方法

    这篇文章主要介绍了C#图像处理之边缘检测(Sobel)的方法,使用自定义sobel算子函数实现对图像边缘的检测功能,需要的朋友可以参考下
    2015-04-04
  • C#如何远程读取服务器上的文本内容

    C#如何远程读取服务器上的文本内容

    这篇文章主要介绍了C#如何远程读取服务器上的文本内容,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • C#多线程中的互斥锁Mutex

    C#多线程中的互斥锁Mutex

    这篇文章介绍了C#多线程中的互斥锁Mutex,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • 分析C# Dictionary的实现原理

    分析C# Dictionary的实现原理

    对于C#中的Dictionary类相信大家都不陌生,这是一个Collection(集合)类型,可以通过Key/Value(键值对的形式来存放数据;该类最大的优点就是它查找元素的时间复杂度接近O(1)。那么什么样的设计能使得Dictionary类实现O(1)的时间复杂度呢
    2021-06-06
  • C# Lambda表达式select()和where()的区别及用法

    C# Lambda表达式select()和where()的区别及用法

    这篇文章主要介绍了C# Lambda表达式select()和where()的区别及用法,select在linq中一般会用来提取最后筛选的元素集合,在lambda表达式中通常用where得到元素集合,需要的朋友可以参考下
    2023-07-07
  • C#中的let字句应用示例

    C#中的let字句应用示例

    这篇文章主要给大家介绍了C#中的let字句,文中通过应用实例介绍的很详细,相信对大家具有一定的参考价值,有需要的朋友们下面来一起看看吧。
    2017-02-02
  • c# 空合并运算符“??”的使用详解

    c# 空合并运算符“??”的使用详解

    本篇文章是对c#中空合并运算符“??”的使用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05

最新评论