gpt4 book ai didi

c# - 如何更改 Windows 窗体应用程序中的拖动阈值?

转载 作者:太空宇宙 更新时间:2023-11-03 13:20:55 31 4
gpt4 key购买 nike

我遇到了用户在选择对象时拖动对象的问题。我已经尝试了几种使用鼠标事件来设置不太敏感阈值的方法。对于 example .

我认为它们不起作用主要是因为我使用的是 Piccolo 图形引擎。

我知道这可以通过注册表完成,但我不想弄乱我的用户注册表项。

另一种方法似乎是将 pinvoke 与 SystemParametersInfo; 以及 SPI_SETDRAGHEIGHT 和 SPI_SETDRAGWIDTH 参数一起使用。

我知道如何调用它,

[DllImport("user32.dll", SetLastError = true)]
static extern bool SystemParametersInfo(int uiAction, int uiParam, IntPtr pvParam, int fWinIni);

我知道 uiAction 参数值是,

SPI_SETDRAGHEIGHT = 0x004D

SPI_SETDRAGWIDTH = 0x004C

我知道 uiParam 是宽度或高度。

除此之外,我被困住了。我真的不明白这些东西,也不知道如何设置最后两个参数。

有C++(?)代码here .

但我对 C 变体以及将它们转换为 C# 的了解令人遗憾。

那么有人可以帮我在我的应用程序中设置拖动拖动阈值吗?

最佳答案

我检查了 Piccolo 源代码,发现拖动阈值取决于您的系统设置,因此使用 PInvoke 调用 SystemParametersInfo 在这里对您没有帮助。但是,可以通过更改 PDragSequenceEventHandler 对象的 MinDragStartDistance 属性来配置阈值。默认值为 0,这可能解释了为什么您的用户对它过于敏感感到沮丧。

不过,我没有使用 Piccolo 的经验,所以我无法真正评论如何获得对该特定属性的访问权限。

关于c# - 如何更改 Windows 窗体应用程序中的拖动阈值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24268860/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com