透明なパネルを自分で作成しました。
public TransPanel()
{
}
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x00000020;
return cp;
}
}
protected override void OnPaint(PaintEventArgs e)
{
if (ImageForBackGround != null)
{
e.Graphics.DrawImage(ImageForBackGround, new Point(0, 0));
}
}
正常に動作しますが、.Refresh(); を実行するとコントロールが透過しなくなるという問題があります。または .Invalidate();。次に、コントロールは親と同じ色になります。BackgroundOnPaint-Event をオーバーライドしようとしましたが、うまくいきません。
protected override void OnPaintBackground(PaintEventArgs pevent)
{
Application.DoEvents();
}
誰かが私を助けることができますか?前もって感謝します。