什么是Hide()和Visible = false之间的区别?

时间:2014-02-11 04:53:39

标签: c# winforms

我可以使用Hide()在win应用中隐藏表单。但我也可以使用Visible = false来隐藏表单。如果我使用任何一种方式显示隐藏的表单我必须使用Visible = true

  1. 那么我应该使用哪一个来隐藏表单Hide()Visible = false?以及为什么?
  2. 当我使用Hide()隐藏表单时会发生什么?
  3. 如果我使用Close()隐藏表单会怎样?

2 个答案:

答案 0 :(得分:8)

没有区别。

Form继承自ControlControl.Hide的实现方式如下:

public void Hide()
{
    this.Visible = false;
}

隐藏表单时,您可以显示正在使用Show

yourForm.Show();

..实现为:

public void Show()
{
    this.Visible = true;
}

所以这是个人偏好。只要确保你成对使用它们,这样就可以更好地阅读:

form.Hide();
form.Show();

..而不是..

form.Hide();
form.Visible = true;

使用Close时,您没有隐藏表单。您实际上是向窗口发送WM_CLOSE ..删除它。 Dispose也被称为。{/ p>

答案 1 :(得分:0)

  1. 如果您特意打算隐藏表单,请调用隐藏以清除表单。如果您打算更改表单的可见性,并且相同的代码可能会执行,则设置为Visible。

  2. 它从视图中消失。大概你想要更多但不清楚你的问题是什么。