private void label1_MouseEnter(object sender, EventArgs e)
{
label1.BorderStyle = BorderStyle.FixedSingle;
}当鼠标移到label1上时边框的颜色是黑色的我想请问怎么改变边框的颜色?请高手指点

解决方案 »

  1.   

    没有属性改变其边框颜色。你可以label的paint事件中画个边框。
    ControlPaint.DrawBorder(e.Graphics,e.ClipRectangle,Color.Red,ButtonBorderStyle.Solid);//画个红色边框
    ControlPaint.DrawBorder(e.Graphics,e.ClipRectangle,this.label1.BackColor,ButtonBorderStyle.Solid);//以其背景色画边框,也就是不显示边框了。记得把label1.BorderStyle 设为 BorderStyle.None
      

  2.   

    如果要在MouseEnter中使用,可以使用下面代码,不要忘记MouseLeave的时候还原: private void label2_MouseEnter(object sender, System.EventArgs e)
    {
    Graphics g = label2.CreateGraphics(); ControlPaint.DrawBorder(g,label2.ClientRectangle,Color.Red,ButtonBorderStyle.Solid);
    } private void label2_MouseLeave(object sender, System.EventArgs e)
    {
    Graphics g = label2.CreateGraphics(); ControlPaint.DrawBorder(g,label2.ClientRectangle,label2.BackColor,ButtonBorderStyle.Solid);
    }
      

  3.   

    非常感谢这两为网友  谢谢实在感谢
     s5689412(华君)
     MyLf(不睡觉的鱼) 
    但是我的问题依然没有解决,我要的效果是:
    当鼠标移动到 label2上的时候,label2就自动凸起
    当我有一排label的时候,我移动到其中一个,其中一个就凸起要的就是这个效果有点像WINDOWS图形效果差不多
      

  4.   

    private void label2_MouseEnter(object sender, System.EventArgs e)
    {
    Graphics g = label2.CreateGraphics(); ControlPaint.DrawBorder3D(g,label2.ClientRectangle,Border3DStyle.Raised);
    } private void label2_MouseLeave(object sender, System.EventArgs e)
    {
    Graphics g = label2.CreateGraphics(); ControlPaint.DrawBorder3D(g,label2.ClientRectangle,Border3DStyle.Flat);
    ControlPaint.DrawBorder(g,label2.ClientRectangle,label2.BackColor,ButtonBorderStyle.Solid);
    }
      

  5.   

    s5689412(华君)请问我使用button1
    想让button1的边框消失,也就是不要边框有什么好的办法吗?
      

  6.   

    类似上面: private void button1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
    {
    ControlPaint.DrawBorder3D(e.Graphics,button1.ClientRectangle,Border3DStyle.Flat);
    ControlPaint.DrawBorder(e.Graphics,button1.ClientRectangle,button1.BackColor,ButtonBorderStyle.Solid);
    }