我想自定义个圆形控件,继承自usercontrol,为什么在onpaint里面设置了region没效果

解决方案 »

  1.   

    region不是在OnPaint中设置,在初始化时设置
      

  2.   

    设置控件的Bounds啊然后重写Onpaintprotected override OnPaint(e)
    {
      e.Graphics.FillEllispe(Brushes.Red,new Rect(0,0,this.Width -1,this.Height -1);
    }
      

  3.   

    这好像只是在原先的graphics上面画了个椭圆吧  要控件的画布是椭圆的
      

  4.   

    画布是椭圆,用UserControl 就不用想了,不用层叠的话,可以把背景色设置为透明,不过不层叠椭圆的画布也没什么意义吧自己用GDI直接写个,比修改Control快得多