如何使tablelayout不可见,然后在winforms中可见

时间:2011-03-15 13:43:28

标签: 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 blackOrNot)
{
    PromotionTable.Visible = true;
}

但它仍然是隐形的:(

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

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

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