用户在选择对象时拖动对象时遇到问题。我尝试了几种使用鼠标事件设置灵敏度较低阈值的方法。对于example。
他们主要不工作我认为因为我使用的是Piccolo图形引擎。
我知道这可以通过注册表完成,但我不想弄乱我的用户注册表项。
替代方案似乎是使用带有SystemParametersInfo;
的pinvoke以及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#是可悲的。
那么有人可以帮我在我的应用程序中设置阻力拖动阈值吗?
答案 0 :(得分:1)
我查看了Piccolo源代码,发现拖动阈值不取决于您的系统设置,因此使用PInvoke调用SystemParametersInfo不会对您有所帮助。但是,可以通过更改MinDragStartDistance
对象的PDragSequenceEventHandler
属性来配置阈值。默认值为0,这可能解释了为什么您的用户对其过于敏感感到沮丧。
我没有使用Piccolo的经验,所以我无法评论如何获得对该特定属性的访问权。