c#点击按钮跳转到另一窗口后将本窗口关闭

Form1是主窗口.Form2是子窗口.
实现点击按钮后弹出Form2.然后主窗口关闭.退出Form2时主窗口再弹出来供其他操作.

1.主窗口不能关闭,只能影藏,给form1设置焦点,当窗体激活时发生

                Form2 myform = new Form2();             
                myform.Show();
                this.Opacity = 0;

 

        private void Form1_Activated(object sender, EventArgs e)
        {
            this.Opacity = 100;
        }

2.传递值:

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

        private void Form1_Load(object sender, EventArgs e)
        {
            
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Opacity = 0;
            Form2 f2 = new Form2();
            f2.ShowDialog();
            this.Opacity = f2.ss;
        }
    }
}

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

        private void button1_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        public int ss
        {
            get
            {
                return 100;
            }
        }
    }
}

3.C#关闭窗口时把之前隐藏的主窗口一起关闭:


Application.Exit();

 

 

4.在按钮后弹出Form2.然后主窗口进行隐藏.退出Form2时主窗口再显示出来

Form2 fm2 = new Form2();
fm2.Show();
// 不在任务栏显示 
this.ShowInTaskbar = false;
// 窗体透明 
this.Opacity = 0; //后面的取值0~100 ,0表示透明

 

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
实现两个窗口跳转传值,可以使用以下步骤: 1. 在第一个窗口中创建一个公共变量或属性,用于存储需要传递的数据。 例如,在第一个窗口中创建一个名为“textBox1”的文本框,并将其内容存储在公共变量“data”中: ```csharp public partial class Form1 : Form { public string data; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { data = textBox1.Text; // 将textBox1中的内容存储在data中 Form2 form2 = new Form2(); form2.Show(); this.Hide(); // 隐藏第一个窗口 } } ``` 2. 在第二个窗口中创建一个公共变量或属性,用于接收从第一个窗口传递的数据。 例如,在第二个窗口中创建一个名为“label1”的标签,并将其内容设置为从第一个窗口传递的数据: ```csharp public partial class Form2 : Form { public string receivedData; public Form2() { InitializeComponent(); receivedData = ((Form1)Application.OpenForms[0]).data; // 从第一个窗口中获取data label1.Text = receivedData; // 将data显示在label1中 } private void button1_Click(object sender, EventArgs e) { Form1 form1 = new Form1(); form1.Show(); this.Hide(); // 隐藏第二个窗口 } } ``` 3. 在第一个窗口跳转到第二个窗口,并隐藏第一个窗口。 例如,在第一个窗口中创建一个名为“button1”的按钮,当单击该按钮时,跳转到第二个窗口并隐藏第一个窗口: ```csharp private void button1_Click(object sender, EventArgs e) { data = textBox1.Text; // 将textBox1中的内容存储在data中 Form2 form2 = new Form2(); form2.Show(); this.Hide(); // 隐藏第一个窗口 } ``` 4. 在第二个窗口跳转回第一个窗口,并隐藏第二个窗口。 例如,在第二个窗口中创建一个名为“button1”的按钮,当单击该按钮时,跳转回第一个窗口并隐藏第二个窗口: ```csharp private void button1_Click(object sender, EventArgs e) { Form1 form1 = new Form1(); form1.Show(); this.Hide(); // 隐藏第二个窗口 } ``` 通过以上步骤,就可以实现两个窗口之间的跳转和数据传递了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值