いくつかのメソッドで使用される値を紹介するためのいくつかのテキストボックスがある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);
}
もちろん、その間の計算は無限の値を与えるため、最後のものは機能していません。
私は正確に何を間違っているのですか?誰かが助けることができますか?