c# - 如何获得相对于公司而不是相对于屏幕的鼠标位置?

标签 c# winforms mouse

我想首先声明我的 C# 中的“skillZ”相当基础。

因此,我正在尝试将 tooltip 添加到 listbox 中的所选项目,这将在用户单击相关项目时发生。

所以我想问一下我对 PointToClient 的使用是否正确,因为我认为问题就出在这里。还是我完全错了(可能是这种情况)?

    public void Listb_SelectedIndexChanged(object sender, EventArgs e)
    {

        ToolTip tooltip = new ToolTip();
        ListBox temp = sender as ListBox;
        Point mouseLocation = Control.MousePosition;
        Form.ActiveForm.PointToClient(mouseLocation);
        int idx = (int)temp.Tag;
        tooltip.Show(DaysList[idx].Elements[temp.SelectedIndex].EventDate, temp, mouseLocation);
    }

提前致谢。

最佳答案

由于工具提示位置指的是 show() 构造函数中的输入控件,因此您无需关心主窗体位置。只需跳过带有“PointToClient”的部分就可以了!

关于c# - 如何获得相对于公司而不是相对于屏幕的鼠标位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17522661/

相关文章:

c# - Unity IOC 和工厂模式以及存储库模式

C# WinForms : Drawing with one or more additional threads. 怎么办?

c# - 如何将文本转换为日期?

c++ - 检测一个键是否被按下,而不是它是否总是按下

linux - VMWare Mavericks 中的跳跃、生涩、不稳定的鼠标

java - 基于时间的轮换

c# - Xamarin Forms Binding - 访问父属性

c# - 将 New tabPage 变成 New process

c# - 如何解决 '/' 应用程序中的服务器错误(配置错误)

c# - 两个富文本框的同步滚动 (C#)