如何打开弹出窗口 window 来警告用户并在后台打开 运行?
How can I open a popup window to alarm user and running in background?
我需要在下雨时通过打开弹出窗口 window 来提醒用户,并通过按下按钮获得 him\her 反馈以确保 he\she 知道天气状况。但我希望我的代码 运行 的其他行在后台。换句话说,我正在寻找一种解决方案,它不会导致程序停止,直到用户按下按钮。我使用 Visual studio 2013 WinForms。谢谢大家。
不过我不确定您的确切要求是什么
Messagebox.show
显示一个名为 'modal' 的 messagebkx
,这意味着当它打开时您无法与另一个 windows 互动。要有一个非模态消息框,请尝试创建一个新表单并使用 messagebox.show
来显示它。
您必须创建一个表单并使用 Show()
来显示。
请注意,使用 messagebox.show
您会在 messagebox
关闭后立即获得结果,非模态消息框不会执行此操作,您需要编写一些代码来处理这种情况作为一个事件。
如果不是活动,您可能要查找的是 async
await
。
Async
和 await
是两个 C# 关键字,更多信息可以在此处的 Microsoft 文档中找到:http://msdn.microsoft.com/en-us/library/hh191443.aspx
如果您创建一个名为 showDialogAsync()
的 async
方法来等待用户结果,然后在新线程上等待它,您将得到以下结果:
您的程序 运行ning 正常
满足条件,需要显示对话框
showDialogAsync
被调用并等待。
Showdialogasync
等待用户输入。
控制返回到调用 showDialogAsync
的方法
当用户点击一个按钮时,调用方法上的 await 之后的代码将 运行。
此图显示了某些 async
代码中的控制流,可能会有所帮助:
http://i.msdn.microsoft.com/dynimg/IC612215.png
我需要在下雨时通过打开弹出窗口 window 来提醒用户,并通过按下按钮获得 him\her 反馈以确保 he\she 知道天气状况。但我希望我的代码 运行 的其他行在后台。换句话说,我正在寻找一种解决方案,它不会导致程序停止,直到用户按下按钮。我使用 Visual studio 2013 WinForms。谢谢大家。
不过我不确定您的确切要求是什么
Messagebox.show
显示一个名为 'modal' 的 messagebkx
,这意味着当它打开时您无法与另一个 windows 互动。要有一个非模态消息框,请尝试创建一个新表单并使用 messagebox.show
来显示它。
您必须创建一个表单并使用 Show()
来显示。
请注意,使用 messagebox.show
您会在 messagebox
关闭后立即获得结果,非模态消息框不会执行此操作,您需要编写一些代码来处理这种情况作为一个事件。
如果不是活动,您可能要查找的是 async
await
。
Async
和 await
是两个 C# 关键字,更多信息可以在此处的 Microsoft 文档中找到:http://msdn.microsoft.com/en-us/library/hh191443.aspx
如果您创建一个名为 showDialogAsync()
的 async
方法来等待用户结果,然后在新线程上等待它,您将得到以下结果:
您的程序 运行ning 正常
满足条件,需要显示对话框
showDialogAsync
被调用并等待。
Showdialogasync
等待用户输入。
控制返回到调用 showDialogAsync
的方法
当用户点击一个按钮时,调用方法上的 await 之后的代码将 运行。
此图显示了某些 async
代码中的控制流,可能会有所帮助:
http://i.msdn.microsoft.com/dynimg/IC612215.png