繁体   English   中英

Win CE 5应用程序中的表单导航

[英]Form Navigation in Win CE 5 Application

我正在尝试为运行.Net 3.5 Win CE 5的旧手持设备开发应用程序,但是我似乎无法克服基本的障碍切换形式!

我开始使用

Application.Run(new frm_class());

但这在打开2种以上表单后开始崩溃。

然后,我尝试了。

this.hide();
frm_class frm = new frm_class();
frm.show();

然后最终是一个不断加载表单的循环,然后我看到有人编写了一个非常简单的类来处理此问题。

    public static void switchForm(Form newForm, Form oldform)
    {
        newForm.Show();
        oldform.Hide();
        oldform.Dispose();
    } 

致电通过

    frm_class frm = new frm_class();
    switchform(frm,this);

加载第二个表单时会关闭应用程序。

这似乎很愚蠢,但是我无法找到一种浏览简单表格的方法,即关闭此表格然后打开此表格,反之亦然!!

有人可以帮忙吗?

Application.Run(new frm_class()); 将启动一个消息循环,并使指定的表单可见,并等待其关闭。 指定的表单关闭后,消息循环终止。 oldform.Dispose(); 将处置(并关闭)表单,而不是将其隐藏。

您的第二个解决方案似乎是您应该采取的解决方案,不应循环。 如果要再次创建相同的表单,请确保代码不在构造函数或form_load事件中。 您可以发布与此相关的代码吗?

您也可以从Application.Run()删除new frm_class()参数。 这将创建一个持续运行的消息循环。 只是不要忘记在某个时候调用Application.Exit()

您应该确保在无参数Application.Run()之前使该窗体可见,因为在您从窗体内部调用Application.Exit()之前,该代码块内的执行不会继续。

frm_class frm = new frm_class();
frm.Show();
Application.Run();

// Some button or event inside the form should be executing the exit call:
Application.Exit();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM