好的,我已经创建了一个Flowlayoutpanel,其中有大约70个用户控件,所有50x50像素的方块都有一个动画草地gif,里面有一个picturebox。我想让它们可以隐藏,但不能被移除,这样就会留下一个空白。通过使用Hide()
并将背景颜色更改为透明,我可以非常一致地做到这一点,这样我就不必隐藏整个UserControl。
这里出现了一个问题,我想让这些gif重新出现在计时器上,所以我创建了一个计时器,它引用了一个方法,它再次使用show()
来显示所说的gif,但是如果我创建一个单独的按钮来这样做或不这样做,它就拒绝这样做。
我已经搜索了相当多,但我认为这是一个问题,只是因为我总是在我的代码中遗漏了一些东西,所以似乎没有其他问题真正回答我的问题。因为这是一个如此简单的问题,我甚至在问它的时候都觉得有点尴尬,但是,哦,好吧。
这是调用另一个类中的方法的计时器事件
private void GrasTerugkeerTimer_Tick(object sender, EventArgs e)
{
var instance = new GrasVeldUC();
instance.TerugKeerGras();
}
这是我为显示和隐藏gif所在的picturebox而设置的事件和方法
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();
}
}
现在,我希望它能正常工作,并再次显示picturebox,然而,无论我如何尝试,创建一个引用另一个类中的方法的独立方法,它都不会工作。类"GrasVeldUC“中的方法确实起作用了,我在里面放了一个messagebox进行测试,它工作得很好。
发布于 2019-05-30 03:35:43
您可以根据需要切换picturebox.visible
。
https://stackoverflow.com/questions/56367145
复制相似问题