C#  Form窗体中的Button按钮问题我想让这个按钮获得焦点以后外边框变成红色  怎么作阿  用什么属性?还是需要用代码控制阿?

解决方案 »

  1.   

    恐怕得设置button的BackColor或者Image。当获得焦点时修改BackColor或者Image
      

  2.   

    那个BackColor修改的是整个的按钮的背景颜色  我只想把按钮的边上的一圈变色
    比如说用按钮获得焦点后按钮上有个虚线圈  就是虚线圈外边的部分变色 
      

  3.   

    那就Image啊。
    弄2个图片。一个是不带虚线的,一个是带虚线的
      

  4.   

    没有那个属性,只能自己继承再重新画.其实你没必要呀.可以让tex设置成红色也一样吗.
      

  5.   

    在获取焦点的时间里加:button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
    button1.FlatAppearance.BorderColor = System.Drawing.Color.Red;
      

  6.   

    tex   ?
    是在按钮的背后放一个Text吗
      

  7.   

    如果要想让边框变色,那么按钮的FlatStyle一定要设置成Flat
      

  8.   

    jp800308(Net人生)FlatAppearance  这个需要什么命名空间吗
      

  9.   

    楼上做法很好,知识要风格必须是Flat,如过不想这样,可用代码画:private void button1_MouseMove(object sender, MouseEventArgs e)
            {            Rectangle rc = button1.Bounds;
                Graphics g = this.CreateGraphics();
                Pen pen = new Pen(Color.Red);
                rc.Inflate(2, 1);
                rc.X -= 1; rc.Y -= 1;            g.DrawRectangle(pen, rc);            pen.Dispose();
                g.Dispose();
                        }
      

  10.   

    jp800308(Net人生)  没有这个属性阿
      

  11.   

    补充一下,需要在离开事件恢复颜色:
    private void button1_MouseLeave(object sender, EventArgs e)
            {
                rc = button1.Bounds;
                Graphics g = this.CreateGraphics();
                pen = new Pen(Color.LightGray);
                rc.Inflate(2, 1);
                rc.X -= 1; rc.Y -= 1;            g.DrawRectangle(pen, rc);            pen.Dispose();
                g.Dispose();
            }
      

  12.   

    //我也没找到FlatAppearance,不知道是不是webform才有这个。//使用Image的话可以这么做
    //给Form添加一个imageList,里面放2张图片,一张是普通的,一张是周围加上红色虚线的。//更改Image就可以用
    this.button1.ImageIndex = 0;
    this.button1.ImageIndex = 1;
      

  13.   

    sdl2005lyx() 我现在不用鼠标  只用键盘  有左右键来实现,焦点在按钮上时边框变红  不在按钮上时恢复原来的颜色
      

  14.   

    怎么可能?你的是2005的还是2003的,都应该有的
    -----------
    hoho,2003。
    2005有么? 这东西越来越强了,总有一天我们的失业。
      

  15.   

    //给Form添加一个imageList,里面放2张图片,一张是普通的,一张是周围加上红色虚线的。
    //把button1的imageList选择你所添加的imageList。//初始化代码中加上这两句
    this.button1.GotFocus += new System.EventHandler(this.getFocus);
    this.button1.LostFocus += new System.EventHandler(this.lostFocus); 
    //得到焦点
    private void getFocus(object sender, System.EventArgs e)
    {
    ((Button)sender).ImageIndex = 1;
    }//失去焦点
    private void lostFocus(object sender, System.EventArgs e)
    {
    ((Button)sender).ImageIndex = 0;
    }
      

  16.   

    2005是肯定有的,我刚才试了,2003好久不用了,忘了有没有了,正常应该有啊,你一个个点属性看看下面的解释吧,主要是按钮的样式属性,找不到你就直接试一下BorderColor,2005里把几个样式属性都包含在FlatAppearance里了,可能2003里直接就有BorderColor
      

  17.   

    wdy9927() private void getFocus(object sender, System.EventArgs e)
      这个是你自己定义的吗
      

  18.   

    private void getFocus(object sender, System.EventArgs e)
      这个是你自己定义的吗
    ---------------------------------
    对,你copy 过去就行了。
      

  19.   

    GDI+画
    重写Button的OnPaintBackground