C# 返回到默认值 一,

C# 返回到默认值 一,,c#,winforms,C#,Winforms,我有这个小代码,当鼠标在标签上时,它应该改变字体大小等 private void label1_MouseHover(object sender, EventArgs e) { label1.Font = new Font("arial",18, FontStyle.Bold,GraphicsUnit.Pixel); } 这是可行的,但我想在再次移动鼠标时将默认值返回到此标签 二, 如何使按钮有默认键,当我按下它时,按钮将做它的工作 有关于事

我有这个小代码,当鼠标在标签上时,它应该改变字体大小等

        private void label1_MouseHover(object sender, EventArgs e)
    {
        label1.Font = new Font("arial",18, FontStyle.Bold,GraphicsUnit.Pixel);
    }
这是可行的,但我想在再次移动鼠标时将默认值返回到此标签

  • 二,
如何使按钮有默认键,当我按下它时,按钮将做它的工作


有关于事件的课程吗?

您应该使用MouseEnter和MouseLeave事件

在鼠标中设置“悬停”字体。 在MouseLeave中重置为默认字体

Label label = new Label();
label.Text = "Hello World!";
label.MouseEnter += label_MouseEnter;
label.MouseLeave += label_MouseLeave;
示例从Segoe UI 12更改为18像素

private void label_MouseEnter(object sender, EventArgs e)
{
    Label label = sender as Label;

    if(label != null)
    {
        label.Font = new Font("Segoe UI", 12, FontStyle.Bold, GraphicsUnit.Pixel);
    }
}
private void label_MouseLeave(object sender, EventArgs e)
{
    Label label = sender as Label;

    if (label != null)
    {
        label.Font = new Font("Segoe UI", 18, FontStyle.Bold, GraphicsUnit.Pixel);
    }
}
  • 1.在那里使用和使用

    私有无效标签1u MouseLeave(对象发送方,System.EventArgs e) { label1.ResetFont(); }


MouseLeave
事件中将默认属性设置回您的标签。请每次提出一个问题。关于教程或课程的问题是离题的。默认值是什么意思?单击时是否需要标签文本?可能重复@MetehanSenol,就像我有这个实验室的默认字体大小是18,当鼠标移到它上面时,它会更改为20,但当我再次移动鼠标时,我需要将其返回到默认值(18)查看我的更改谢谢,这对我也很有用,我发现我可以使用鼠标悬停和鼠标离开事件,但感谢您使用MouseEnter的任何方式,因为鼠标悬停在控件上时会多次触发。MouseEnter仅一次。@chistian edel您的意思是每次鼠标移到标签上时,它都要执行代码?是的,MouseOver的描述如下:当鼠标指针停留在控件上时发生。