Cursor.Current与this.Cursor.Net中Cursor.Current和this.Cursor(在哪里this是WinForm)之间有区别吗?我一直使用它this.Cursor并且运气很好但是我最近开始使用CodeRush并且只是在“Wait Cursor”块中嵌入了一些代码而CodeRush使用了该Cursor.Current属性。我已经在互联网和工作中看到其他程序员遇到了一些问题Cursor.Current。它让我想知道这两者是否存在差异。提前致谢。我做了一点测试。我有两个winforms。我单击form1上的一个按钮,将Cursor.Current属性设置为Cursors.WaitCursor,然后显示form2。两种形式的光标都不会改变。它仍然是Cursors.Default(指针)光标。如果我设置this.Cursor到Cursors.WaitCursor在Form1并显示窗体2按钮点击事件,等待光标只显示Form1上,默认光标在预计窗口2。所以,我还是不知道是什么Cursor.Current。
3 回答
眼眸繁星
TA贡献1873条经验 获得超9个赞
实际上,如果你想从另一个线程中使用HourGlass,它会回复跨线程异常,因为你试图从最初创建的表单以外的不同线程访问f.Handle。使用GetForegroundWindow()而不是user32.dll。
[DllImport("user32.dll")]private static extern IntPtr GetForegroundWindow();
然后
public static bool Enabled{ get { return Application.UseWaitCursor; } set { if (value == Application.UseWaitCursor) { return; } Application.UseWaitCursor = value; var handle = GetForegroundWindow(); SendMessage(handle, 0x20, handle, (IntPtr)1); }}
- 3 回答
- 0 关注
- 1000 浏览
添加回答
举报
0/150
提交
取消