好的,我正在尝试制作自己的 PanelClass 以允许双缓冲等内容。
好吧,我错过了一些东西,因为它不工作,什么都没有显示。但它似乎有效,因为它不会卡在“backgroundimage = blabla”。
这是我的面板类。
using System;
using System.Windows.Forms;
using System.Drawing;
namespace VoiceChat
{
public class MyDisplay : Panel
{
public MyDisplay()
{
this.DoubleBuffered = true;
this.UpdateStyles();
}
}
}
然后在我的主要形式,或者我想要使用它的形式中,我喜欢这样:
private MyDisplay panelm = new MyDisplay();
……
private void Initialize()
{
panelm.Size = ClientSize;
panelm.Enabled = true;
panelm.Visible = true;
}
只是为了确保它是可见的等等。
然后当我尝试添加背景图像时,什么也没有发生。
我没有对 Paint 事件做任何事情,因为我不明白在那里做什么,而且据我所知,这似乎没有必要。