C# 如何使表格布局不可见,然后在winforms中可见

C# 如何使表格布局不可见,然后在winforms中可见,c#,winforms,tablelayout,C#,Winforms,Tablelayout,我有一个winform需要打印一个棋盘,我有一个带有一些控件的表 我所做的是在窗体加载时将其设置为不可见 private void Chess_Load(object sender, EventArgs e) { PromotionTable.Visible =false; } 然后在触发该功能后使其可见 public void piecePromotionChange(Pieces[,] pieces, int rowEnd2, int columnEnd2, bool blackO

我有一个winform需要打印一个棋盘,我有一个带有一些控件的表

我所做的是在窗体加载时将其设置为不可见

private void Chess_Load(object sender, EventArgs e)
{
    PromotionTable.Visible =false;
}
然后在触发该功能后使其可见

public void piecePromotionChange(Pieces[,] pieces, int rowEnd2, int columnEnd2, bool blackOrNot)
{
    PromotionTable.Visible = true;
}

但它仍然是不可见的:(

您可能需要在加载时将其可见性设置为
false

private void Chess_Load(object sender, EventArgs e)
{
   PromotionTable.Visible = false; // false here
}

如果一开始它不可见,您可能需要检查并确保它已添加到控件中。

您需要使屏幕的该部分无效/刷新。设置visible属性不会触发重画

PromotionTable.Visible=true;
PromotionTable.Invalidate();
myForm.Refresh();

@Fun Mun Pieng:我投票赞成您的编辑,尽管我个人认为SwDevMan81最初的将函数参数拆分为两行的编辑更具可读性。侧滚并不有趣。简单的解释是,它实际上是可见的,但内容有问题,所以不明显。更改背景r属性来验证这一点。太棒了,我会检查,你今晚提供给我的算法,然后回来给你一个答案对不起,我错了,它应该是假的