当用户将悬停在标签上时,它将向标签添加顶部和底部边框。类似于这个网站的效果:http://ianlunn.github.io/Hover/ -> Border Transitions
-> Underline From Center。然而,我只知道如何定义普通的边框,我甚至不能改变边框的颜色、宽度等等...这是我到目前为止所实现的内容:
designer.cs:
this.label1.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.label1.Font = new System.Drawing.Font("Arial", 16F, System.Drawing.FontStyle.Bold);
this.label1.Location = new System.Drawing.Point(124, 187);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(217, 65);
this.label1.TabIndex = 0;
this.label1.Text = "Something Cool";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.label1.MouseHover += new System.EventHandler(this.label1_MouseHover);
this.label1.MouseLeave += new System.EventHandler(this.label1_MouseLeave);
cs:
private void label1_MouseHover(object sender, EventArgs e)
{
label1.BorderStyle = BorderStyle.FixedSingle;
label1.Font = new Font("Arial", 18, FontStyle.Bold);
}
private void label1_MouseLeave(object sender, EventArgs e)
{
// initialize
label1.BorderStyle = BorderStyle.None;
label1.Font = new Font("Arial", 16, FontStyle.Bold);
}
WinForms
中做这个并不难。你根本不需要涉及继承。 - L. GuthardtControlPaint.DrawBorder(e.Graphics, e.ClipRectangle, Color.Red, ButtonBorderStyle.Solid);
,它确实将整个标签都描边了,但我希望只在上下两端描边,我该怎么做呢? - PNinja