在登陆窗口输入账号密码登陆后,登陆窗口消失,主窗口显示,我希望主窗口显示该账号使用人的相关信息,所以需要登陆窗口的账号id传递到主窗口上。
我在网上找了下,说只需在要提供值的窗口里将值声明为public后,就可以在要引用值的窗口里通过“类名.变量名”使用了。如:LoginWindow.cs
public string id;
private void Login_Click(object sender, RoutedEventArgs e)
{               id = "admin";
                MainWindow window = new MainWindow();
                Application.Current.MainWindow = window;
                window.Show();
                this.Close();
}MainWindow.cs
Login_Window lw = new Login_Window();
            label1.Content = lw.id;但是没效果,但是直接public string id = "admin"定义后,主窗口却可以显示出id的值,请问要怎么弄可以按照输入的账号是什么就显示什么呢?

解决方案 »

  1.   


    //使用winform窗体传值的方法就可以啊.
    //子窗体
            public Window2(string id)
            {
                InitializeComponent();
                this.textBox1.Text = id;
            }
    //父窗体
                Window2 w2 = new Window2("IDvalue");
                //Application.Current.MainWindow = w2;
                w2.Show();
                this.Close();
      

  2.   

    LoginWindow.cs中
    public string id;
    改为
    public static string id;MainWindow.cs中
    label1.Content = LoginWindow.id;这就是利用静态变量传值,到哪里都是一样的,最大的好处是全局缓存,任何地方都可以用。