C#当Form2处于活动状态时,如何暂停Form1?

C#当Form2处于活动状态时,如何暂停Form1?,c#,forms,sleep,pause,C#,Forms,Sleep,Pause,正如标题所说;这就是我所需要的。我有两种表格:表格1和表格2。在我的代码中,我想执行Form2.ShowDialog(),在关闭Form2之后,我想恢复Form1。我该怎么做 我尝试过使用Thread.Sleep(有时),但这只会禁用Form1中的任何控件、计时器等,并在时间过后恢复。问题是,我不知道我的用户按Form2中的某个按钮需要多长时间。正如KDecker在对您的问题的评论中提到的: 如果要以模式显示某些内容(即后面的表单不可用),请使用ShowDialog()方法。这将使您只能使用调用

正如标题所说;这就是我所需要的。我有两种表格:表格1表格2。在我的代码中,我想执行
Form2.ShowDialog()
,在关闭Form2之后,我想恢复Form1。我该怎么做


我尝试过使用
Thread.Sleep(有时)
,但这只会禁用Form1中的任何控件、计时器等,并在时间过后恢复。问题是,我不知道我的用户按Form2中的某个按钮需要多长时间。

正如KDecker在对您的问题的评论中提到的:

如果要以模式显示某些内容(即后面的表单不可用),请使用
ShowDialog()
方法。这将使您只能使用调用了
ShowDialog()
的表单

如果您想无模式显示它,那么只需在表单上使用
show()
方法即可。这将使您可以使用这两种形式

请参阅MSDN文档以获取参考:

只需在Form2处于活动状态时隐藏Form1,或启动Form2模式。一旦Form2关闭,如果您使用
ShowDialog()
…则Form1应恢复正常操作,包括您试图查看错误的代码。
Form2.ShowDialog
将使用户无法访问
Form1
,直到关闭为止。我看不到您想要的问题或行为?
Form1
没有运行,它正在等待输入,什么也不做,因此您不必暂停它。