C#:WinForm应用程序中用鼠标移动控件位置

这篇具有很好参考价值的文章主要介绍了C#:WinForm应用程序中用鼠标移动控件位置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

有时候在WinForm程序中,我们需要用鼠标移动程序窗口中的对象(例如图片对象等)的位置,可以通过定义控件的鼠标事件来实现。以命名为pictureBox1的PictureBox控件为例,分别定义它的MouseDown(按下鼠标按钮)、MouseMove(移动鼠标)、MouseUp(释放鼠标按钮)三个事件,代码如下:文章来源地址https://www.toymoban.com/news/detail-599453.html

//获取和设置控件是否随鼠标移动
bool moveFlag = false;
//按下鼠标时鼠标的X和Y坐标
int xPos,yPos;

private void pictureBox1_MouseDown(object sender, MouseEventArgs e){
    //当鼠标位于控件上并按下按钮时,设置moveFlag为True,控件可随鼠标移动
    moveFlag = true;
    //设置按下按钮时鼠标的坐标值
    xPos = e.X;yPos=e.Y;
}

private void pictureBox1_MouseMove(object sender, MouseEventArgs e){
    //如果没有捕获到MouseDown事件,则返回
    if(!moveFlag)
        return;
    //把鼠标移动过程中的坐标值与之前按下按钮时鼠标坐标的初始值(xPos和yPos)进行计算,得出控件的Top和Left值
    pictureBox1.Top += (e.Y - yPos);
    pictureBox1.Left+= (e.X - xPos);
}

private void pictureBox1_MouseUp(object sender, MouseEventArgs e){
    //释放鼠标按钮,设置moveFlag为False,控件不能随鼠标移动,如果不设置的话,即使释放按钮,控件依然随鼠标移动
    moveFlag = false;
}

到了这里,关于C#:WinForm应用程序中用鼠标移动控件位置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C#程序设计——Windows应用程序开发,1、初步掌握Windows应用程序的设计方法。2、掌握常用窗体控件的使用方法。

    初步掌握Windows应用程序的设计方法。 掌握常用窗体控件的使用方法。 1、设计一个Windows应用程序,创建一个用于添加学生个人基本信息的窗体,窗体下方法同时滚动信息“天行健,君子以自强不息!”。   要示如下: 如图1所示,设计窗体界面控件的布局 图1 学生信息管理

    2024年02月10日
    浏览(80)
  • C#开发winform&wpf后台捕获鼠标移动事件

    做 WPF和winform的时候,可以在界面上设置鼠标移动事件来检测鼠标移动,如果项目为后期改造这样做的话改动量很大,今天通过另外一种后台调用windows api的方式进行快速捕获和触发,提高开发效率分享给大家。

    2024年02月16日
    浏览(46)
  • C# 移动鼠标获取chart控件上的任意位置的值,包括曲线上的数据点的值

    在利用C#控件绘制曲线图后,有时我们需要通过鼠标查看数据点的值信息,常用的方法就是利用chart控件的chart1_GetToolTipText(object sender, ToolTipEventArgs e)事件来获取数据点的信息,如下我用两个label来显示获取的数据点的值 相关代码如下 但是该方法有个弊端,那就是只能获取曲线

    2024年02月10日
    浏览(35)
  • WPF嵌入外部exe应用程序-使用Winfom控件承载外部程序

    首先要解决在WPF中如何使用Winfom控件的问题,官方对此有支持的方式。 在引用管理器中添加winfrom相关的程序集 System.Windows.Forms 和 WindowsFormsIntegration 。 然后使用winform的控件,得在外面套一层WindowsFormsHost(好像添加了WindowsFormsIntegration,不使用wfi:也能使用) 这样就可以在WPF中使

    2024年02月17日
    浏览(63)
  • 使用DevExpress22.X(Patch)控件库在VisualStudio2022使用C#进行Winform、WPF应用的开发,看这一篇就够了!

            写在开头,Dev Express是个十分强大的控件库(下文简称Dev),但碍于其高昂的使用费用,“出于学习目的”,我们一般使用的都是Patch版本(在版权意识日趋加强的当下,不要提那两个字,现在加上那些字,百度都搜不出内容)。         最重要的 Patch资源 (包括

    2024年02月09日
    浏览(84)
  • 小程序与传统移动应用的区别

    101. 小程序与传统移动应用的区别 引言: 随着移动互联网的蓬勃发展,移动应用程序成为人们生活中不可或缺的一部分。然而,随着技术的不断进步和用户需求的不断演变,小程序应运而生,给人们带来了全新的用户体验。本文将探讨小程序与传统移动应用之间的区别,并解

    2024年02月11日
    浏览(42)
  • ToBeWritten之IoT移动应用漏洞利用(IOS 应用程序分析)

    也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 转移发布平台通知:将不再在CSDN博客发布新文章,敬请移步知识星球 感谢大家一直以来对我CSDN博客的关注和支持,但

    2024年02月01日
    浏览(45)
  • 如何使用代码混淆技术保护移动应用程序安全

    在移动应用开发过程中,代码保护一直是一个重要的议题。为了保护应用程序免受黑客攻击和逆向工程师的破解,开发人员使用各种方法来加强应用程序的安全性。其中,代码混淆是一种常用的技术,可以通过对代码进行混淆、压缩和重命名等操作,使得应用程序的代码难以

    2024年01月17日
    浏览(67)
  • 移动应用数据安全性:如何防止应用程序被黑客攻击和数据泄露?

    在移动应用成为人们生活中不可或缺的一部分的今天,数据安全性已经成为一个非常重要的问题。随着黑客攻击和数据泄露事件的频繁发生,用户对于移动应用程序的信任度也在逐渐下降。本文将探讨移动应用数据安全性的重要性,并提供一些有效的技术措施来防止应用程序

    2024年02月08日
    浏览(58)
  • 移动应用架构新思路——WePY+小程序容器

    WePY(微信小程序开发框架)是一个基于组件化开发思想的微信小程序开发框架。它类似于Vue.js框架,通过封装小程序原生的API,提供了更加简洁、高效的开发方式。 WePY的主要特点包括: 组件化开发:WePY将页面拆分为多个组件,每个组件有自己的样式、模板和逻辑。这种组

    2024年02月08日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包