现在我正在为我制作的几个不同的控制器制作GUI。每个控制器都在自己的类中,并且是WPF。为了使用控制器,我需要一个用户键入GUI包含的文本框的IP地址。当我创建GUI类的对象并尝试使用变量时,无论我将变量初始化为什么,而不是更新的变量。
该变量在我的GUI类中更新。不在我的其他课程中。
我是C#的新手,帮帮忙!
public partial class MainWindow : Window {
public String nao_ip = "";
private void IPAddress_TextChanged(object sender, TextChangedEventArgs e)
{
nao_ip = IPAddress.Text;
}
}
public partial class Test : Window
{
MainWindow main = new MainWindow();
public Test()
{
InitializeComponent();
}
public void Window_Loaded(object sender, RoutedEventArgs e)
{
String nao_ip = main.nao_ip;
MessageBox.Show(nao_ip);
}
}
它们位于两个单独的.xaml文件中。
答案 0 :(得分:0)
public partial class Test : Window
{
MainWindow main = new MainWindow();
public Test()
{
InitializeComponent();
}
public void Window_Loaded(object sender, RoutedEventArgs e)
{
main.ShowDialog();
String nao_ip = main.nao_ip;
MessageBox.Show(nao_ip);
}
}
答案 1 :(得分:0)
答案 2 :(得分:0)
//The following allows the Test window to reference an existing instance of
//Main window. All you need to do is instantiate Test window
//using the example code in my notes below.
public partial class Test : Window
{
MainWindow main = null;
public Test(MainWindow existingMainWindow)
{
main = existingMainWindow;
InitializeComponent();
}
public void Window_Loaded(object sender, RoutedEventArgs e)
{
//main.ShowDialog();
String nao_ip = main.nao_ip;
MessageBox.Show(nao_ip);
}
}
答案 3 :(得分:-1)
我会说:“使用构造函数”,但在发布一些代码之前它是不准确的。
编辑:您不能将main
设置为新实例(通过MainWindow main = new MainWindow();
),而是相同。
例如,您可以在使用this
打开测试窗口时在参数中传递此实例,并仅使用该值设置主变量(表示主窗口的实例)。