好奇心再次开始。我一直在使用用户控件.Visible
和.Hide()
方法。那么当用户控件的可见性设置为false时,用户控件会去哪里?
答案 0 :(得分:4)
它不会去任何地方 - 它留在记忆中。只是它不可见。可见实际上意味着它必须在请求时绘制其区域,并且它可以接收焦点和用户操作。
答案 1 :(得分:1)
在控件上设置Visible属性时,它实质上告诉Web服务器不要在响应中返回控件的HTML标记。但是,它确实将控件的信息保存在视图状态中,以便您可以在代码中继续使用它。
哎呀 - 抱歉。我以为你在谈论ASP.NET而不是WinForms。我的坏。
答案 2 :(得分:0)
我同意VinayC(+1 btw)。
此外,即使控件没有自行绘制或通过UI响应用户事件,您仍然可以通过编程方式或实际使用其数据来执行操作。
例如,您可以拥有一个不可见的窗口来记录发布的消息数据。
你实际上在不考虑它的情况下使用了这个功能,以你的Form控件为例。对于模式对话框,您可以创建它,在隐藏时设置属性值,然后使用ShowDialog()方法使其可见。