如何在windows窗体应用程序中更改拖动阈值
本文关键字:拖动 阈值 应用程序 windows 窗体 | 更新日期: 2023-09-27 18:08:56
我有一个问题,用户拖动对象时选择他们。我尝试了几种方法,使用鼠标事件来设置一个不太敏感的阈值。例如,
我想主要是因为我用的是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++(?)代码
但是我对C变量的知识和将它们转换成c#的知识是可悲的。
所以有人能帮我设置我的应用程序中的拖拽阈值吗?
我检查了Piccolo源代码,发现拖动阈值不依赖于您的系统设置,因此使用PInvoke调用SystemParametersInfo在这里没有帮助。但是,可以通过更改PDragSequenceEventHandler
对象的MinDragStartDistance
属性来配置阈值。默认值是0,这可能解释了为什么您的用户对它太敏感感到沮丧。
我没有使用Piccolo的经验,但是,所以我不能真正评论如何获得访问该特定属性。