Windows保留拖放光标

时间:2010-05-21 09:44:55

标签: c# winforms cursor

我有一个奇怪的问题,我希望有人可能有经验/有一些建议。

我正在使用第三方库(GoDiagram),它已经简要地反映了它我不认为是问题的原因。发生的事情是我将文件拖到一个继承自Control类的背景画布上。在画布上拖动文件时,光标会变为“拖放”光标,我相当确定它只是由基本Control而不是画布本身处理。

此时画布会触发我所连接的事件。此事件显示模式对话框。此时光标是正常箭头。但是,如果我将焦点返回到桌面,我的光标仍处于“拖放”状态,我实际上无法与桌面上的任何图标进行交互。

有谁知道为什么会发生这样的事情?或者有谁知道我如何强制光标还原?奇怪的是它感觉就像它的Windows光标不起作用,并且从那一点开始我的应用程序中的光标很好。如果我关闭对话框,那么光标将返回到正常光标,无论你想要什么。

干杯

1 个答案:

答案 0 :(得分:0)

通常,当您更改光标类型时,首先保存上一个光标状态;更改为新的光标类型,执行工作,然后,在完成后将光标更改回上一个光标类型。因此,每个人(每个应用程序)都有机会在尊重其他应用程序的同时操纵游标类型。

似乎不知何故,当新的模态对话框打开时,它不会保留前一个光标状态,更不用说在对话框关闭事件时恢复到上一个​​光标类型。

因此,当关闭该对话框时,您可以手动执行change the cursor type

<强> - 编辑 -

我重读了你的问题;如果我理解正确的话,我现在还不确定。

据我所知,您连接的事件会显示对话框,这是否意味着您是显示模式对话框的事件?

如果是这样,您是否尝试操纵.MouseEnter.MouseLeave事件来控制光标类型。

相关问题