关于winform窗体跳转的问题

两个窗体A和B,从A的两个按钮都可以跳转到B,怎么判断点了哪个按钮进入的B窗体。求详细过程代码

5个回答

A窗体
private void button2_Click(object sender, EventArgs e)
{
Common.A = "btn2";
Form2 f = new Form2();
f.Show();
}

    private void button1_Click(object sender, EventArgs e)
    {
        Common.A = "btn1";
        Form2 f = new Form2();
        f.Show();
    }
            B窗体

             private void Form2_Load(object sender, EventArgs e)
    {
        if (Common.A == "btn1")
        {
            MessageBox.Show("button1");
        }
        else
        {
            MessageBox.Show("button2");
        }
    }

            Common类
              public  class Common
{
   public static string A;
}

你可以传递一个参数啊,B收到那个不就知道哪个打开的B窗体了

怎么传。。这一块不太懂,有代码么

自己继承Form,然后重写一个构造函数,传入类型为Button,new Form的时候把按钮实例传入进去就行了

很简单,在B窗体写一个事件就可以搞定了。其实窗体之间适当的用一些事件控制,可以让逻辑和控制上更完整
A 窗体:
private void button2_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.Loading(sender,e);
f.Show();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.Loading(sender,e);
f.Show();
}

窗体B:
public void Loading(object sender,EventArgs e)
{
Button bt = sender as Button;
if(bt==null)
return;
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问