Show() 方法不会在一秒钟前隐藏的图片框中显示.gif



好的,所以我创建了一个 Flowlayoutpanel,其中大约有 70 个用户控件,所有正方形均为 50x50 像素,里面的图片框中有一个动画草 gif。我想使这些可隐藏但不被删除,所以留下一个空白。我已经能够非常一致地做到这一点,只需使用Hide()并将背景颜色更改为透明,这样我就不必隐藏整个UserControl。

这里出现了问题,我希望这些 gif 重新出现在计时器上,所以我创建了一个计时器,它引用了一个方法,该方法只是再次使用show()来显示所述 gif,但如果我创建一个单独的按钮,它拒绝这样做这样做或不这样做。

我已经搜索了很多,但我认为这是一个问题,只是因为我的代码中一直缺少某些内容,因此似乎没有其他问题可以真正回答我的麻烦。因为这是一个如此简单的问题,即使问它,我也感到有点尴尬,但哦,好吧。

这是调用其他类中的方法的计时器事件

private void GrasTerugkeerTimer_Tick(object sender, EventArgs e)
{
var instance = new GrasVeldUC();
instance.TerugKeerGras();
}

这是我设置的事件和方法,用于显示和隐藏 gif 所在的图片框

public partial class GrasVeldUC : UserControl
{
public GrasVeldUC()
{
InitializeComponent();
this.BackColor = Color.White;
}
private void GrasVeldUC_Click(object sender, EventArgs e)
{           
this.BackColor = Color.FromArgb(0, 255, 255, 255);
PIBGrasUC.Hide();
}
private void PIBGrasUC_Click(object sender, EventArgs e)
{
this.BackColor = Color.FromArgb(0, 255, 255, 255);
PIBGrasUC.Hide();
}
public void TerugKeerGras()
{
this.BackColor = Color.FromArgb(100, 255, 255, 255);
PIBGrasUC.Show();
}
}

现在我希望这能正常工作,只是再次显示图片框,但是无论我尝试什么,创建一个单独的方法来引用另一个类中的方法,它都不会起作用。类"GrasVeldUC"中的方法确实有效,我在里面放了一个消息框进行测试,它运行良好。

您可以根据需要切换picturebox.visible

最新更新