请教:如何从从第二窗体回到第一窗体,即从任何一个到另一个后,再从第二个回到第一个。

解决方案 »

  1.   

    你的第一个是用隐藏的吗???
    如果是隐藏的话 窗体2.show  的时候把窗体1传递进去 然后用传递的参数  visible=true 显示出来
      

  2.   

    别的窗体里设置一个Butten控件,它的事件写上:
    firstFormName formName =new firstFormName();
    formName.ShowDialog();
      

  3.   

    例子:
    如果使用showDialog打开第二个页面的话,只能关闭第二个页面才能使第一个页面在最前面显示
    如果采用show的形式打开的话,如下
    点击的一个按钮从第一个页面打开第二个页面
    在第一个页面上定义一个隐藏的
    TextBox,命名为txtPass
    ,并且这个TextBox的值为"go"
    打开第二个页面的方法为:
    private void btnOpenNewForm_Click(object sender, EventArgs e)
    {
        //最好先判定一下是否已经有打开的第二个窗体
         From2 dtForm = new From2(this.txtPass);
        dtForm.Show();
    }
    当然第二个窗体必须定义一个带参数的构造函数,并且定义一个全局TextBox变量
    public DataTablePractice( TextBox txtPassV)
            {
                InitializeComponent();
                txtPassValue = txtPassV;//引用类型赋值        }
    TextBox txtPassValue = new TextBox();
    在第二个窗体中有一个按钮btnGoBack,添加click事件
     private void btnGoBack_Click(object sender, EventArgs e)
            {
               //改变第一个窗体的txtPass的值,从而出发TextChanged事件
                if (txtPassValue.Text == "go")
                { 
                    txtPassValue.Text = "back";
                }
                else if (txtPassValue.Text == "back")
                {
                    txtPassValue.Text = "go";
                }
            }
    这样在第一个页面中给隐藏的TextBox添加TextChanged事件
    private void txtPass_TextChanged(object sender, EventArgs e)
    {
        this.Focus();//第一个页面获取焦点
    }
    这样从第一个页面打开第二个页面的时候,点击第二个页面的返回按钮,就可以使第一个页面又重新回到最前面显示。
      

  4.   

    就是用基本的show和hide方法
    如果要显示窗体的话:  From frm =New From();frm.show(); 
    同理隐藏 From frm =New From();frm.hide(); 
      

  5.   

    我的意思是:如a、b、c三个窗体,从a到达c, 点击c中的“返回”按钮时回到a;从b到c, 点击c中的“返回”按钮时回到b!