单击鼠标获取鼠标坐标

2024-01-21

我正在使用下面的代码,但它并不像我想要的那样工作,而且我不知道如何实际制作它。

我想要它做的是获取鼠标坐标onClick,但这发生在用户确认消息框之后。

消息框 > 用户单击确定 > 用户单击屏幕上的任意位置 > 获取坐标

我应该在“确定按钮”处启动计时器吗?我在计时器代码上做什么来等待鼠标响应?

这就是我现在拥有的(当我单击“确定”按钮时显示鼠标位置):

private void button12_Click(object sender, EventArgs e)
{
    if (MessageBox.Show("Pick a position after clicking OK", "OK", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) == DialogResult.OK)
    {
        // user clicked ok
        MouseEventArgs me = (MouseEventArgs)e;
        Point coordinates = me.Location;
        MessageBox.Show("Coordinates are: " + coordinates);
    }
}

你就快到了。问题是EventArgs会给你这个位置相对于按钮在点击时。

如果你想要cursor位置而不是单击,您可以使用Cursor https://msdn.microsoft.com/en-us/library/system.windows.forms.cursor%28v=vs.110%29.aspx类来获取它的Position财产:

private void button12_Click(object sender, EventArgs e)
{
    if (MessageBox.Show("Pick a position after clicking OK", "OK", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) == DialogResult.OK)
    {
        // user clicked ok
        Point coordinates = Cursor.Position;
        MessageBox.Show("Coordinates are: " + coordinates);
    }
}

获取用户关闭后的坐标MessageBox,您可以使用计时器。为此,您必须在类级别声明一个,设置其Tick事件并将您的光标登录移动到其中。

The button12_Click方法现在将启动计时器,计时器到期后将显示光标位置(在本例中为一秒后)。

private Timer timer; //Declare the timer at class level
public Form1()
{
    InitializeComponent();
    // We set it to expire after one second, and link it to the method below
    timer = new Timer {Interval = 1000}; //Interval is the amount of time in millis before it fires
    timer.Tick += OnTick;
}

private void OnTick(object sender, EventArgs eventArgs)
{
    timer.Stop(); //Don't forget to stop the timer, or it'll continue to tick
    Point coordinates = Cursor.Position;
    MessageBox.Show("Coordinates are: " + coordinates);
}


private void button1_Click(object sender, EventArgs e)
{
    if (MessageBox.Show("Pick a position after clicking OK", "OK", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) == DialogResult.OK)
    {
        timer.Start();
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单击鼠标获取鼠标坐标 的相关文章

  • 使用链表进行堆排序

    我想知道是否有人曾经使用链表进行堆排序 如果他们可以提供代码 我已经能够使用数组进行堆排序 但尝试在链表中进行排序似乎不切实际 而且在你知道的地方很痛苦 我必须为我正在做的项目实现链接列表 任何帮助将不胜感激 我也用C 答案是 你不想在链表
  • C# 静态类型不能用作参数

    public static void SendEmail String from String To String Subject String HTML String AttachmentPath null String Attachme
  • 格式说明符%02x

    我有一个简单的程序 include
  • 使用 ADAL v3 使用 ClientID 对 Dynamics 365 进行身份验证

    我正在尝试对我们的在线 Dynamics CRM 进行身份验证以使用可用的 API 我能找到的唯一关于执行此操作的官方文档是 https learn microsoft com en us dynamics365 customer enga
  • strlen() 编译时优化

    前几天我发现你可以找到编译时strlen使用这样的东西 template
  • 如何在 C# 中将 Json 转换为对象

    我想将 Json 转换为 C 中的对象 这里的 Json 是 值 e920ce0f e3f5 4c6f 8e3d d2fbc51990e4 如何使用 Object 问题看似愚蠢 但其实并不那么愚蠢 我没有简单的 Json 我有 IEnume
  • 混合模型优先和代码优先

    我们使用模型优先方法创建了一个 Web 应用程序 一名新开发人员进入该项目 并使用代码优先方法 使用数据库文件 创建了一个新的自定义模型 这 这是代码第一个数据库上下文 namespace WVITDB DAL public class D
  • 如何向 Mono.ZeroConf 注册服务?

    我正在尝试测试 ZeroConf 示例http www mono project com Mono Zeroconf http www mono project com Mono Zeroconf 我正在运行 OpenSuse 11 和 M
  • if constexpr 中的 not-constexpr 变量 – clang 与 GCC

    struct A constexpr operator bool const return true int main auto f auto v if constexpr v A a f a clang 6 接受该代码 GCC 8 拒绝它
  • 来自嵌入图像的 BitmapSource

    我的目标是在 WPF 窗口上重写 OnRender 方法中绘制图像 someImage png 它是嵌入资源 protected override void OnRender System Windows Media DrawingCont
  • 读取依赖步行者输出

    I am having some problems using one of the Dlls in my application and I ran dependency walker on it i am not sure how to
  • .NET 和 Mono 之间的开发差异

    我正在研究 Mono 和 NET C 将来当项目开发时我们需要在 Linux 服务器上运行代码 此时我一直在研究 ASP NET MVC 和 Mono 我运行 Ubuntu 发行版 想要开发 Web 应用程序 其他一些开发人员使用 Wind
  • 以编程方式创建 Blob 存储容器

    我有一个要求 即在创建公司时 在我的 storageaccount 中创建关联的 blob 存储容器 并将容器名称设置为传入的字符串变量 我已尝试以下操作 public void AddCompanyStorage string subDo
  • 使用 gcc 时在头文件中查找定义的好方法是什么?

    在使用 gcc 时 有人有推荐的方法在头文件中查找定义吗 使用 MSVC 时 我只需右键单击并选择 转到定义 这非常好 我使用过 netbeans gcc 它确实有代码帮助 包括到定义的超链接 所以这是一种选择 但是 我想知道是否有任何其他
  • 如何在C#中控制datagridview光标移动

    我希望 datagridview 光标向右移动到下一列 而不是在向单元格输入数据后移动到下一行 我试图通过 dataGridView1 KeyDown 事件捕获键来控制光标 但这并不能阻止光标在将数据输入到单元格后移动到下一行 提前感谢你的
  • 构建 C# MVC 5 站点时项目之间的处理器架构不匹配

    我收到的错误如下 2017 年 4 月 20 日构建 13 23 38 C Windows Microsoft NET Framework v4 0 30319 Microsoft Common targets 1605 5 警告 MSB3
  • 如何获取带有某个属性注释的所有属性?

    我刚刚从 Roslyn 开始 我想找到所有用属性名称 OneToOne 注释的属性 我启动了 SyntaxVisualizer 并能够获取对该节点的引用 但我想知道是否有更简单的方法来实现此目的 这就是我所拥有的 var prop docu
  • 如何组合两个 lambda [重复]

    这个问题在这里已经有答案了 可能的重复 在 C 中组合两个 lambda 表达式 https stackoverflow com questions 1717444 combining two lamba expressions in c
  • winform c# 中的弹出窗口

    我正在开发一个需要弹出窗口的项目 但问题是我还希望能够通过表单设计器在此弹出窗口中添加文本框等 所以基本上我有一个按钮 当您单击它时 它将打开我在表单设计器中设计的另一个窗口 我一直在谷歌搜索 但还没有找到我需要的东西 所以我希望你们能帮助
  • 如果找不到指定的图像文件,显示默认图像的最佳方式?

    我有一个普通的电子商务应用程序 我将 ITEM IMAGE NAME 存储在数据库中 有时经理会拼错图像名称 为了避免 丢失图像 IE 中的红色 X 每次显示产品列表时 我都会检查服务器中是否有与该产品相关的图像 如果该文件不存在 我会将其

随机推荐

  • 在特定模式上运行inspectdb

    我想用检查数据库 https docs djangoproject com en dev ref django admin inspectdb以便为新引入的表建立相应的模型 但看起来这个命令只查找public架构 而新表位于另一个架构中 是
  • Expo 应用程序卡在启动屏幕上 - 没有给出错误

    我的应用程序工作得很好 直到我开始尝试让它与 Firebase 一起工作 它现在冻结在启动屏幕上 没有给我任何错误 我尝试从 GitHub 中提取之前的版本 创建一个全新的 expo 项目并复制代码 然后重新安装所有软件包 但都不起作用 有
  • 当同一组件加载不同数据时,不会调用 ngOnInit

    我有一个 Angular 2 应用程序 并且像其他人一样使用路由器在视图之间导航 以下是我的特定组件的路径 path home view1 viewID component ViewComponent children path pane
  • C++ Class Typedef Struct 不命名类型

    我正在尝试在我的 C 程序中使用 typedef 结构 我开始编写以下代码 直到尝试向我的类添加返回模板 typedef 结构指针的方法时收到错误 结构源 h template
  • svn:无法打开请求的 SVN 文件系统

    我尝试在LAMPP环境中设置svn 我的 svn 存储库位于 var svn repos 以及repos目录属于root root 现在 当运行命令时 svn import test http localhost svn m init 我看
  • Cleartool - 列出对象及其标签

    我想递归地列出所有对象 包括文件和目录 及其标签 当我运行以下命令时 它只写入规则 它不会在任何对象上写入所有标签 cleartool ls r l view stable MYVOB MyProject 结果 版本 view stable
  • 调度程序代码在什么上下文中运行?

    调度程序代码有两种情况schedule 被调用 当进程主动调用schedule 定时器中断调用schedule 对于情况2 我认为schedule 在中断上下文中运行 但是第一种情况怎么样 它是否在调用它的进程的上下文中运行 还有其他场景会
  • 使用@PropertySource注释时@Value未解析。如何配置PropertySourcesPlaceholderConfigurer?

    我有以下配置类 Configuration PropertySource name props value classpath app config properties ComponentScan service public class
  • 如何从 numpy.datetime64 获取unix时间戳

    如何从 numpy datetime64 或 numpy datetime 获取 UNIX 时间 例如 np datetime 2012 08 08 13 37 00 为了解释单位 我认为你需要这样做 def get unixtime dt
  • 将字符串大写并返回局部变量

    我正在尝试创建一个将字符串大写的过程 但我收到垃圾值和来自 gcc 的警告 提示我正在返回局部变量的地址 来自Python 我对这个问题感到困惑 不想在中使用东西
  • 由于使用非公共 API,二进制文件被拒绝(谷歌分析 iOS v2)

    我最近有一个应用程序被拒绝 原因是 非公开API使用 应用程序不允许访问UDID 并且不得使用UIDevice的uniqueIdentifier方法 请更新您的应用程序和服务器 以便将用户与 iOS 6 中引入的供应商或广告标识符相关联 我
  • 在 Woocommerce 迷你购物车/购物车中设置自定义计算的商品价格

    目前我有一些根据不同情况定制的产品价格计算 当客户将产品添加到购物车时 自定义价格将在会话数据中设置 cart item data my price 我实现了使用add filter woocommerce add cart item 功能
  • 在 JFrame 上绘制画布

    我正在尝试用 Canvas 绘制简单的形状 在这堂课中我已经设置了绘画 public class Game extends Canvas FIELDS public int WIDTH 1024 public int HEIGHT WIDT
  • 未处理的异常:绑定尚未初始化

    i am facing this error for 3 days i have just used firebase db for authentication and i don t know how to solve it 根据他们的
  • 多个消费者从单个 kafka 分区消费

    我读到以下内容卡夫卡文档 https kafka apache org intro intro consumers Kafka 中实现消费的方式是将日志中的分区划分到消费者实例上 以便每个实例在任何时间点都是 公平份额 分区的独占消费者 K
  • 如何从 docker-compose 命令运行 2 个不同的命令:

    我想从 docker compose 为我的服务运行 2 个不同的命令 bash脚本 sh 配置 etc config yaml 目前 我的 docker compose 如下所示 我希望 bash 脚本在配置命令之后运行 docker c
  • 维基百科Python API

    我正在尝试使用 Python 的维基百科 API 查看维基百科页面中的目录 这是我的代码 gt gt gt import wikipedia gt gt gt ny wikipedia page New York gt gt gt ny s
  • Browser.ReadyState 上的致命执行错误[重复]

    这个问题在这里已经有答案了 可能的重复 NET 致命执行引擎错误 故障排除 https stackoverflow com questions 2823440 troubleshooting net fatal execution engi
  • VB.NET 的表达式主体成员?

    VB NET 支持表达式主体成员吗 到目前为止 它似乎拥有 C 中的所有内容 例如 null 条件 nameof 内插字符串 只能通过 ctor 访问的无实体自动属性等 在 C 中 语法为 string FullName gt FirstN
  • 单击鼠标获取鼠标坐标

    我正在使用下面的代码 但它并不像我想要的那样工作 而且我不知道如何实际制作它 我想要它做的是获取鼠标坐标onClick 但这发生在用户确认消息框之后 消息框 gt 用户单击确定 gt 用户单击屏幕上的任意位置 gt 获取坐标 我应该在 确定