答案 0 :(得分:2)
正如您指出的问题,如果您想通过多个按钮调用mouseenter,您可以按照以下方式执行操作
private void btn_MouseEnter(object sender, EventArgs e)
{
Button btn = sender as Button;
if(btn !=null)
{
btn.UseVisualStyleBackColor = false;
btn.BackColor = Color.Black;
btn .ForeColor = Color.White;
}
}
如果要为每个按钮鼠标输入多次调用相同的功能,则应将相同的功能分配给多个按钮鼠标输入事件处理程序。
示例:
Button1.MouseEnter += new EventHandler(this.btn_MouseEnter);
Button2.MouseEnter += new EventHandler(this.btn_MouseEnter);
答案 1 :(得分:0)
根据您的链接定义方法并调用每个按钮以显示MouseOver效果不是一个好主意, 而是将样式定义为Xaml中的资源,并将其用于任何您想要的按钮。
示例:强>
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="Green"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border Background="{TemplateBinding Background}" BorderBrush="Black" BorderThickness="1">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Red"/>
</Trigger>
</Style.Triggers>