hen*_*rot 1 c# button mousemove visual-studio
我一直在手动设置每个按钮的事件,但我如何概括呢?
我想我可以覆盖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;
}
Run Code Online (Sandbox Code Playgroud)
如果您不想触摸表单上的每个按钮,您可以进行简单的收集并迭代它们
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;
}
Run Code Online (Sandbox Code Playgroud)