首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# Control.Cursor和Form.Cursor...

C# Control.Cursor和Form.Cursor...
EN

Stack Overflow用户
提问于 2012-06-14 17:32:52
回答 1查看 2.3K关注 0票数 1

好吧,据我所知(这里我可能错了),Windows窗体和所有子控件都有Cursor属性。令人惊讶的是,此光标默认为Cursors.Default,这是箭头指针。到现在为止还好。

现在,如果我想要在窗体未被控件覆盖的区域上使用不同的光标,我可以检查窗体鼠标移动事件并更改其中的光标。因此,现在我期望的是,当光标移动到窗体上时,光标将更改为我在Form.MouseMove_Handler中将其设置为的值,但是当光标移动到窗体的子控件上时,它将更改为该子控件的Control.Cursor。

然而,这并不是我所看到的。我看到光标在窗体上移动时会发生变化,但当它在子控件上移动时,它仍然与在父窗体上移动时一样。Control.Cursor属性似乎根本不受欢迎。

我是否必须为窗体上的所有控件处理MouseMove、MouseEnter和MouseLeave事件才能使其正常工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-14 17:39:10

来自MSDN的

将光标分配给控件的Cursor属性,以更改当鼠标指针位于控件上时显示的光标。若要临时更改应用程序上所有控件的鼠标光标,请设置Cursor.Current属性。通常,在填充ComboBox或保存或加载文件时,应将Cursor.Current属性设置为等待游标。

Cursor属性是一个环境属性。环境属性是一种控件属性,如果未设置该属性,将从父控件中检索该属性。例如,默认情况下,按钮将具有与其父窗体相同的BackColor。有关环境属性的更多信息,请参见AmbientProperties类或Control类概述。

对继承者的注释

重写派生类中的Cursor属性时,请使用基类的Cursor属性来扩展基实现。否则,您必须提供所有实现。不需要同时重写Cursor属性的get和set方法;如果需要,只能重写其中一个方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11030328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档