在什么事件上我应该假设Windows窗体可见?

时间:2012-11-22 20:42:04

标签: c# winforms

在一个基于Windows窗体的C#应用​​程序中,而不是WPF。我需要在向用户显示主窗体后立即向用户显示IP /端口对话框。

根据与服务器的连接,我需要在表单上显示某些控件并禁用其他控件。

最好的地方是什么?

我从Activated事件开始,但每次激活Form时都会调用它。 是否有任何方法告诉我表单现在正在显示,我现在可以显示连接表单?

2 个答案:

答案 0 :(得分:7)

首次显示表单时会触发Form.Shown事件。这只会被解雇一次。

每次加载表单时都会触发Form.Load事件。每次显示表单时都会触发此操作。如果表单是您的应用程序中的主要(或唯一)表单,那么这将只触发一次。如果表单是子表单(或对话框),则每次打开对话框时都会触发。

每次表单成为活动表单时,都会触发Form.Activated事件。这可能在表单的生命周期中多次发生。当任何子表单(或对话框)关闭时,它将触发主表单。

答案 1 :(得分:1)

如果我理解正确,您正在寻找Form.Shown事件。