【问题标题】:C# Hide parent form when child form is activeC#当子窗体处于活动状态时隐藏父窗体
【发布时间】:2014-04-16 08:25:41
【问题描述】:

我有一个简单的家庭作业,我必须在 C# 中创建一个父窗体,该窗体将包含三个文本框,我在每个文本框中输入数据,然后我点击一个进程按钮,它将将该数据发送到显示的子窗体子窗体中的三个框中的相同信息。我的程序正在运行,但是部分任务是,当子表单处于活动状态时,父表单将被隐藏,然后当我关闭子表单时,父表单将返回。我不知道该怎么做?有什么帮助吗?

谢谢。

这是我的父表单代码...

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Chapter_15_Ex.Child_Parent_1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void processToolStripMenuItem_Click(object sender, EventArgs e)
        {


            string name;
            string address;
            int ccnum;

            name = Convert.ToString(txtName.Text);
            address = Convert.ToString(txtAddress.Text);
            ccnum = Convert.ToInt32(txtCreditCard.Text);

            Form2 childform = new Form2();
            //childform.MdiParent = Form1;
            childform.Show();

            childform.txtOutputName.Text = name;
            childform.txtOutputAddress.Text = address;
            childform.txtOutputCreditCard.Text = Convert.ToString(ccnum);          



        }

        private void exitToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }
}

【问题讨论】:

    标签: c# forms


    【解决方案1】:

    由于这是家庭作业,我将解释它而不是提供代码。

    步骤如下:

    1. 创建Form2 的实例(你已经有了)

    2. 隐藏当前表单(有一个方法可以调用this.)

    3. 显示Form2,然后停止当前表单,直到Form2 关闭 - 提示:有一个不同于childForm.Show() 的调用,但它的名称相似,它会阻止Form1 中的代码继续直到子窗体关闭。

    4. 再次显示当前表单(不同的方法 this. ;与第2步中的方法相反)

    【讨论】:

    • 好的,我快接近了,当孩子打开时,我让父母消失了,但是当我关闭孩子时,父母没有回来。一个快速提示,我需要的所有代码是否都进入 form1 进程按钮,或者除了 this.Close 之外是否还需要将一些代码插入到子退出按钮中?
    • 好的,我想我明白了。它的工作,但这是你在说什么? Form2 childform = new Form2(); //childform.MdiParent = Form1; this.Hide(); childform.txtOutputName.Text = 名称; childform.txtOutputAddress.Text = 地址; childform.txtOutputCreditCard.Text = Convert.ToString(ccnum); childform.ShowDialog(); this.Show(); }
    • 谢谢你的帮助!
    猜你喜欢
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多