在我的表单上隐藏光标

afa*_*lek 7 c# winforms

当鼠标悬停在我的一个应用程序表单上时,我需要有关如何隐藏光标的帮助.我知道代码分别是MouseEnter和MouseLeave事件的Cursor.Hide()和Cursor.Show().将此应用于表单本身不起作用.所以我插入了一个面板(将其Dock属性设置为Fill)以包含其他控件.代码适用于面板,但是当我开始添加控件时,却没有.
我的猜测是我必须将代码应用于每个控件.在我的表格上有大约25个控件,这看起来相当笨拙.
我的想法是这样的(我很抱歉格式化;我是用哑铃输入的):

foreach(Control control in this.Controls)
{
    control.MouseEnter += control_MouseEnter;
    control.MouseLeave += control_MouseLeave;
}
Run Code Online (Sandbox Code Playgroud)

代码在FrmScreen_Load中.但它仍然无效.我错过了什么吗?

我在C#工作,但VB.NET中的解决方案是可以接受的.

per*_*ain 5

建议Cursor.Hide();在表单构造函数中使用.

将此应用于表单本身不起作用

当你离开应用程序的领域时,我不认为你将不得不关心光标.表单初始化的时候把代码放在那里.

public Form1()
        {    
            InitializeComponent();
            Cursor.Hide();
        }
Run Code Online (Sandbox Code Playgroud)

另一种推荐的方法是迭代控制集合,即

foreach(Control c in this.Controls)
{
  c.Cursor.Hide();
}
Run Code Online (Sandbox Code Playgroud)