我有一个 Windows 窗体,其中有几个文本框来介绍将使用多种方法的值。
我的意图是定义全局变量,这样它们就可以在整个程序中使用,但是虽然我没有编译错误,但当我检查时变量是空的(所有变量都写了数字)。这里有一些变量,也许我分配了错误的值:
//This is in the mainform, where all the textboxes are stored
namespace WindowsFormsApplication1{
public partial class Rotor_Calc:Form
{
public Rotor_Calc()
{
InitializeComponent();
}
public string T_HotIn
{
get { return Temphotin.Text; }
set { Temphotin.Text = value; }
}
public string F_Cold
{
get { return flowCold.Text; }
set { flowCold.Text = value; }
}
// this is in a class named Globals
public class Globals
{
public static string THotIn;
public static string FlowCold;
public Globals(Rotor_Calc Rotor)
{
THotIn = Rotor.T_HotIn;
FlowCold = Rotor.F_Cold;
}
public static double Thin = Convert.ToDouble(Globals.THotIn);
public static double speedCold = Convert.ToDouble(Globals.FlowCold);
}
然后,在下面的方法中,我编写了 Globals.Thin,所以它可以从文本框中获取值,但是当我编译时它仍然是空的。
我还想获取另一个变量的计算值并将其写入结果文本框中。为此,我向后遵循相同的过程:
//在主窗体中定义文本框
public string Eff_Hot
{
get { return effecthot.Text; }
set { effecthot.Text = value; }
}
public string Eff_Cold
{
get { return effectcold.Text; }
set { effectcold.Text = value; }
}
//in the globals method, take the value from the calculation method:
public class Globals{
public static string eff_cold;
public static string eff_hot;
public Globals(Rotor_Calc Rotor){
eff_cold = Rotor.Eff_Cold;
eff_hot = Rotor.Eff_Hot;
}
public static double effcold=Convert.ToDouble(eff_cold);
public static double effhot = Convert.ToDouble(eff_hot);
}
当然最后一个不起作用,因为中间的计算给出了无限的值。
我到底在做什么错?有人可以帮忙吗?