2 dong19980903 dong19980903 于 2016.03.18 11:33 提问

关于winform窗体跳转的问题

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

5个回答

u013104440
u013104440   2016.03.18 11:40
已采纳

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;
}
u013104440
u013104440   2016.03.18 11:35

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

dong19980903
dong19980903   2016.03.18 11:40

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

diz_sun
diz_sun   2016.03.18 12:57

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

u012097590
u012097590   2016.03.18 14:41

很简单,在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
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!