我有一个表单,在该表单上有一个菜单栏(带有' Run'按钮),4个按钮和一个pictureBox(仅作为例子)。除了这些控件之外,还有一个支持不透明度的自定义面板。
我想要实现的是当我点击“运行”时自定义面板会淡入,如下图所示
然而,面板不会显示褪色效果,而是闪烁或只是出现。如果我将一些控件放到面板上,那么淡入效果显然会变得更糟。我只是需要知道它为什么不能正确渲染,或者更确切地说有更好的方法吗?
*面板的不透明度介于0 - 100之间。
public Form1()
{
InitializeComponent();
transparentPanel1.Opacity = 0;
transparentPanel1.Hide()
}
private void runToolStripMenuItem_Click(object sender, EventArgs e)
{
transparentPanel1.Show();
for (int i = 0; i < 50; i += 10)
{
transparentPanel1.Opacity = i;
transparentPanel1.Refresh();
this.Refresh();
System.Threading.Thread.Sleep(100);
}
}