【问题标题】:Opeing/closing Windows Forms application running in Windows tablet?打开/关闭在 Windows 平板电脑上运行的 Windows 窗体应用程序?
【发布时间】:2016-10-16 16:06:40
【问题描述】:

我们有一个简单的 Windows 窗体应用程序,它将在 Windows 平板电脑中运行。到目前为止,我们运行良好;我将遇到的问题是从 winform 转移到 winform,以及打开/关闭表单。

目前,它看起来像这样。

以下打开主窗体FormHome

static void Main()
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new FormHome());
}

来自FormHome 的点击按钮将打开一个新的表单调用FormInput

var form = new FormInput();
form.StartPosition = FormStartPosition.CenterParent;
form.ShowDialog();

点击FormInput 将打开另一个表单FormFeedback

var form = new FormFeedback(patientInputId);
form.StartPosition = FormStartPosition.CenterParent;
form.ShowDialog();

最后,FormFeedback 将打开最后一个最终表单,FormThanks

var form = new FormThanks();
form.StartPosition = FormStartPosition.CenterParent;
form.ShowDialog();

FormThanks 什么都不做;它只是感谢用户并有一个 关闭 按钮。这意味着这个关闭按钮将关闭FormThanksFormFeedbackFormInput,所以我将看到的唯一表单是FormHome

除了关闭winforms,其他一切正常。但是当我看到需要打开/关闭的窗体时,我在想也许使用其他架构而不是常规的 Windows 窗体会更好。

我正在阅读此SO link,有人建议使用 MDI 容器并用面板代替。但我的第一个想法是,我将看到 MDI 容器的 FormBorder,以及子 Form 的 FormBorder。

你的想法是什么?我应该切换到另一种架构还是只是想办法关闭所有这些表单?

谢谢。

【问题讨论】:

  • 不,MDI 从来没有让应用程序看起来或感觉更好。只需编写正确的代码,在 ShowDialog() 调用后将 this.DialogResult 属性设置为 DialogResult.OK 即可关闭对话框。
  • 谢谢。但是,当我关闭FormThanks 时,如何关闭FormFeedbackFormInput 并显示FormHome
  • 嗯,它奏效了。我在所有表单中设置了this.DialogResult = DialogResult.OK;,它似乎有效。

标签: c# forms winforms visual-studio-2010


【解决方案1】:

你可以试试 .hide 属性。这将隐藏您不想看到的表单,然后您可以使用 .show 来显示您想要的表单。希望能帮到你

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多