在.NET紧凑型框架中工作,C#,.NET 3.5,Visual Studio2008。针对同一项目的Windows Mobile和CE设备(这是CE应用程序,都在两种类型的设备上运行)。

我有一个必须使用Showdialog显示的表格。表单本身只是一个空白屏幕,上面有“加载...”消息。在屏幕上显示表单之后,我需要在同一线程上运行另一个代码,该线程将使用Showdialog弹出另一个表单,以便“加载”屏幕是新屏幕的父。

不要告诉我这种情况是错误的,否则我不应该使用Showdialog。作为一个团队,我们已经经历了这一点,这就是我们编写应用程序的方式,因为它解决了许多其他问题。

...但是,这种情况的问题是,即使在紧凑型框架中也没有显示出来,因此我无法在该事件中放置代码来做到这一点。

其他人如何在紧凑的框架中解决这一需求?如果有帮助,我确实有OpenNETCF库...中间有可以提供帮助的东西吗?

有帮助吗?

解决方案 2

最终使用布尔值激活表格来检查并查看我是否完成了工作

其他提示

好的,我会反对我非常强烈的冲动告诉您这是错误的,您不应该使用Showdialog。现在我没有说过,让我们看看发生了什么。

您的应用程序调用应用程序。这设置了一个消息泵,该消息泵将Windows事件分配到系统中的适当窗口(控件)。

当您致电ShowDialog时,系统会设置另一个临时消息泵。这意味着进入此泵的Windows事件不会在其他控件的外部派遣到外面(这就是您获得模态的方式)。

现在您说的是您需要在其中弹出另一个对话框(因此创建另一个泵),但是您需要在第一个对话框中显示某种初始化代码(不是总体父母表单)之后才能出现。 。

这一切正确吗?如果是这样,我认为我会看到两条路线。首先,我会在第一个对话框中查看重大活化。由于您正在使用Showdialog,因此我认为这几乎是显示事件的代名词。

如果那不完全让您想要的东西,那么我会考虑添加一个 MessageWindow 到第一个对话框(或使用 SDF的本地风口)并查看所有的Windows消息,以提供您自己的显示事件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top