在 Visual C# 中,模拟登录界面与主窗体的交互

本文将介绍在 Visual C# 中,如何模拟登录界面与主窗体的交互。

假设主窗体为 Form1,登录窗体为 Form2Form2 中有一个按钮 button1。打开程序首先看到 Form2,在 From2 点击 button1 后,会隐藏 Form2 并显示 Form1

对于上述问题,我想到的有两种方法:

  1. Form2 作为主窗体,当点击 button1 后,调用 Hide() 隐藏 Form2,然后调用 Show() 显示 Form1
  2. Form1 作为主窗体,在 Form1Form_Load 中,调用 ShowDialog() 显示 Form2。使用模式对话框 ShowDialog() 方式打开窗体 Form2。当窗体 Form2 关闭或销毁时,必然要返回一个 DialogResult,默认为 none。只要在 Form1_Load 中对 DialogResult 进行判断即可达到此效果。

第 1 种方法,Form2 只是隐藏,并没有销毁。本文介绍第 2 种方法。

Form1 的代码如下:

namespace Test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.Hide();
            this.ShowInTaskbar = false;

            Form2 form2 = new Form2();

            if (form2.ShowDialog() == DialogResult.OK)
            {
                this.Show();
            }
        }
    }
}

其中,在 Form1_Load() 中,需要用 this.Hide();this.ShowInTaskbar = false; 两句语句才能隐藏 Form1。只用 this.Hide(); 无法隐藏主窗体。

Form2 的代码如下:

namespace Test
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.DialogResult = DialogResult.OK;
            this.Dispose();
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值