调用OnPaintBackground

时间:2013-05-10 04:40:30

标签: c#

我正在努力使表单的背景变得透明,所以我在一些随机项目中测试了以下代码并且它工作得很好,但现在当我将它应用于新项目时,它在加载期间没有被读取过程,因为我试图打破点!我做错了什么?

protected override void OnPaintBackground(PaintEventArgs e)
{
    Bitmap bmp = new Bitmap(AFK_AIESEC.Properties.Resources.splash);
    this.locked.BackgroundImage = bmp;
}

1 个答案:

答案 0 :(得分:0)

如果要确保覆盖OnPaint方法,则应在构造函数中按如下方式设置表单样式:

this.SetStyle(ControlStyles.AllPaintingInWmPaint 
              | ControlStyles.OptimizedDoubleBuffer
              | ControlStyles.ResizeRedraw 
              | ControlStyles.DoubleBuffer 
              | ControlStyles.UserPaint
              , true);

重要的设置是ControlStyles.UserPaint,它告诉你自己想要处理这幅画。