【问题标题】:how can i make a tablelayout invisible and then visible in winforms如何使表格布局不可见,然后在 winforms 中可见
【发布时间】:2011-07-15 19:40:21
【问题描述】:

我有一个需要打印棋盘的 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;
}

但它仍然存在,不可见:(

【问题讨论】:

  • @Fun Mun Pieng:我投票赞成您的编辑,尽管我个人认为 SwDevMan81 将函数参数拆分为两行的原始编辑更具可读性。横向滚动不好玩。
  • 简单的解释是它实际上是可见的,但内容有问题,所以它并不明显。更改 BackColor 属性以验证这一点。

标签: c# winforms tablelayout


【解决方案1】:

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

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

【讨论】:

  • 太棒了,我会检查你今晚提供给我的算法,然后给你答案
【解决方案2】:

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

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

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

【讨论】:

  • 对不起,我拼错了,应该是假的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-04
  • 1970-01-01
  • 2013-07-30
  • 2013-09-03
  • 1970-01-01
  • 2016-05-26
  • 1970-01-01
相关资源
最近更新 更多