我已经制作了window1的对象
MainWindow win1_obj = new MainWindow();
用它来访问window1中Public
public int banks, banks_size, timer_time, threshold;
使用onClick事件从window1
中的文本框中为它们分配值 if (checkbox_enable_banks.IsChecked == true)
{
banks = int.Parse(txtbox_banks_numbers.Text);
}
if(checkbox_enable_size.IsChecked==true)
{
banks_size = int.Parse(txtbox_bank_size.Text);
}
if (checkbox_enable_time.IsChecked == true)
{
timer_time = int.Parse(txtbox_timer_time.Text);
}
if (checkbox_enable_threshold.IsChecked == true)
{
threshold = int.Parse(txtbox_power_threshold.Text);
}
else
{
threshold = 20;
}
但在window2中使用win1_obj
与它们一起访问时,与以下方法一样
if (win1_obj.timer_time > 0)
{
seconds = win1_obj.timer_time;
}
和
label_threshold.Content = win1_obj.threshold +"%";
它不做任何事情,既不会timer_time
seconds
也不会threshold
vlue label_threshold.Content
答案 0 :(得分:0)
您必须在MainWindow
中为属性提供值,这样您才能通过window2
的实例访问MainWindow
中的值
MainWindow win1_obj = new MainWindow();
请记住,new
创建对象实例意味着将为该特定对象分配新的内存位置。如果您想访问这些属性,只需添加static
添加public static int banks;
,如创建一个类并提供静态属性。
public class WindowClass
{
public static int banks;
//and other properties
}
你可以直接用类名和属性来获取和设置值,例如
WindowClass.banks