单击按钮时,我有此代码应该在当前表单顶部显示一个对话框并显示文本,等待一秒钟,更改文本,然后最后关闭它:
Form p = new Form();
p.ShowDialog();
p.Text = "Start.";
Thread.Sleep(1000);
p.Text = "Counting.";
Thread.Sleep(1000);
p.Text = "End.";
Thread.Sleep(1000);
p.Close();
但是,一旦它执行p.ShowDialog();
它就会停止代码,直到表单 p 关闭并且它不能按我的预期工作。我可以得到一些指导吗?不一定是解决方案,但至少也许我可以搜索一些关键字?
更新:由于我在尝试访问与问题无关的业务逻辑时遇到的困难,我正在延迟提供工作示例。请继续关注并抱歉:)
解决方案:我所做的实际上是用来Show()
代替ShowDialog()
. 由于我无法从业务逻辑访问表单,BackgroundWorker 派上用场并在它们之间使用。我不能分享任何代码或项目结构的布局,但总而言之,接受的答案的主要陈述是解决方案的关键:)