c# - 如何在鼠标移动时为 C# 中的所有按钮设置手形光标?

标签 c# visual-studio button mousemove

我一直在手动设置每个按钮的事件,但我如何概括这一点?

我想我可以覆盖 ButtonBase,但我该怎么做呢?我是一个相对较新的 C# 程序员,我需要这个,因为我正在模拟一个真实的设备,所以我需要改变光标,以便用户知道他们可以点击哪里。

最佳答案

如果所有按钮都在表单上(没有嵌套容器),那么您可以在 Form_Load()

上执行类似的操作
foreach(Button b in this.Controls.OfType<Button>())
{
    b.MouseEnter += (s, e) => b.Cursor = Cursors.Hand;
    b.MouseLeave += (s, e) => b.Cursor = Cursors.Arrow;
}

如果你不想触摸表单上的每个按钮,你可以做一个简单的集合并迭代它们

Button[] buttons = new[] {button1, button2, button3};

foreach (Button b in buttons)
{
    b.MouseEnter += (s, e) => b.Cursor = Cursors.Hand;
    b.MouseLeave += (s, e) => b.Cursor = Cursors.Arrow;
}

关于c# - 如何在鼠标移动时为 C# 中的所有按钮设置手形光标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7155569/

相关文章:

c# - 允许用户从图片框中复制图像并将其保存在任何地方

c# - 检查数据库中是否已存在电子邮件

c++ - 中继可变参数模板参数时出现 Visual Studio 错误

javascript - 在重定向到不同功能的同一功能上使用多个按钮

jQuery移动按钮默认旋转90°并添加到网格

c# - AspNetCore.SignalR : Cannot start a connection that is not in the Initial state

c# - MVC 使用 JQuery 更新模型属性

windows - 如何通过 premake5 将全局属性添加到生成的 Visual Studio 项目和解决方案中?

visual-studio - Visual Studio 2019 版本。 CPU使用率高

java - Android studio-为按钮添加样式