当用户控件的可见性设置为false时,用户控件在哪里?

时间:2010-09-09 06:22:09

标签: c# .net winforms user-controls system.drawing

好奇心再次开始。我一直在使用用户控件.Visible.Hide()方法。那么当用户控件的可见性设置为false时,用户控件会去哪里?

3 个答案:

答案 0 :(得分:4)

它不会去任何地方 - 它留在记忆中。只是它不可见。可见实际上意味着它必须在请求时绘制其区域,并且它可以接收焦点和用户操作。

答案 1 :(得分:1)

在控件上设置Visible属性时,它实质上告诉Web服务器不要在响应中返回控件的HTML标记。但是,它确实将控件的信息保存在视图状态中,以便您可以在代码中继续使用它。

哎呀 - 抱歉。我以为你在谈论ASP.NET而不是WinForms。我的坏。

答案 2 :(得分:0)

我同意VinayC(+1 btw)。

此外,即使控件没有自行绘制或通过UI响应用户事件,您仍然可以通过编程方式或实际使用其数据来执行操作。

例如,您可以拥有一个不可见的窗口来记录发布的消息数据。

你实际上在不考虑它的情况下使用了这个功能,以你的Form控件为例。对于模式对话框,您可以创建它,在隐藏时设置属性值,然后使用ShowDialog()方法使其可见。