0

我正在努力使表单的背景透明,所以我在一些随机项目中测试了以下代码,它运行良好,但是现在当我将它应用到一个新项目时,它在加载过程中没有被读取,因为我试图断点!!我究竟做错了什么?

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

1 回答 1

0

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

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

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

于 2013-05-10T04:58:38.480 回答