【问题标题】:Controlling Multiple Forms in C#在 C# 中控制多个表单
【发布时间】:2019-02-12 07:26:34
【问题描述】:

这是我的第一个问题,所以我希望我做得对。 我目前正在使用 Visual Studio Express 2017 执行 C# Windows Forms App 项目。

我在 Stack Overflow 和 YouTube 上搜索过类似的示例,但没有找到。在附图中,我在项目中有 3 个表单。 Form1 是主要的控制表单,上面有 2 个按钮。用于 Form2 的 Form2button 和用于 Form3 的 Form3button。当我单击 From2 按钮时,我可以无限制地继续单击并打开多个 Form2 以及打开多个 Form3。我想运行一个程序,如果我单击 Form2button 它只能加载一个 Form2 实例,并且与 Form3button 相同。

但是,如果我单击 Form3 按钮并且 Form2 已打开,我希望 Form2 关闭并且仅打开 Form3 并且 Form3 已打开并且我单击 Form2 按钮,Form3 将关闭并且 Form2 将打开。 Form1 在屏幕上始终处于活动状态。

Overview of Form Program

namespace MultiWindows

{ 公共部分类Form1:表格 { 公共表格1() { 初始化组件(); }

    private void Form2button_Click(object sender, EventArgs e)
    {
        Form2 f2 = new Form2();
        f2.Show();
    }

    private void Form3Button_Click(object sender, EventArgs e)
    {
        Form3 f3 = new Form3();
        f3.Show();
    }
}

}

【问题讨论】:

    标签: forms


    【解决方案1】:

    到目前为止,在其他人的帮助下,我已经成功地完成了这项工作。我没有把他们的帮助归功于他们。

    所以当我运行程序并单击 Form2 按钮时,它将打开 Form2 以及 Form3 反之亦然。当我单击 Form3 按钮时,它不会关闭 Form2,并且屏幕上只有 Form3,因此两个表单都在屏幕上处于活动状态。

    如果我通过单击右上角的来关闭表单,除非我重新启动程序,否则我无法重新打开已关闭的表单。

    命名空间多窗口 {

    public partial class Form1 : Form
    
    {
        public Form1()
        {
            InitializeComponent();
        }
        private Form2 f2 = null;
        private Form3 f3 = null;
    
        private void Form2button_Click(object sender, EventArgs e)
        {
            if (this.f2 == null)
            {
                f2 = new Form2();
                f2.Show();
            }
            else
            {
                f2.BringToFront();
            }
        }
    
        private void Form3Button_Click(object sender, EventArgs e)
        {
            if (this.f3 == null)
            {
                f3 = new Form3();
                f3.Show();
            }
            else
            {
                f3.BringToFront();
            }
        }
    }
    

    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-17
      相关资源
      最近更新 更多