-1
私のプログラムに悩まされています。私は、コードのこの部分を持っている:ボタンをクリックした後に変数を使用する方法
public void PacketArrival(ref IntPtr ContextHandle, ref int Cursor_Renamed,
ref int X , ref int Y , ref int Z, ref int Buttons,
ref int Pressure , ref int TangentPressure, ref int Azimuth,
ref int Altitude, ref int Twist, ref int Pitch , ref int Roll ,
ref int Yaw,ref int PacketSerial, ref int PacketTim)
{
tmpl = System.Math.Abs(X);
if(tmpl != prgX.Value)
{
if(tmpl <= prgX.Maximum)
prgX.Value = tmpl;
}
tmpl = System.Math.Abs(Y);
if(tmpl != prgY.Value)
{
if(tmpl <= prgY.Maximum)
prgY.Value = tmpl;
}
tmpl = System.Math.Abs(Z);
if(tmpl != prgZ.Value)
{
if(tmpl <= prgZ.Maximum)
prgZ.Value = tmpl;
}
tmpl = System.Math.Abs(Pressure);
if(tmpl != prgPressure.Value)
prgPressure.Value = tmpl;
if(Convert.ToInt32(lblX.Text)!= X)
lblX.Text = X.ToString();
if(Convert.ToInt32(lblY.Text)!= Y)
lblY.Text = Y.ToString();
if(Convert.ToInt32(lblZ.Text)!= Z)
lblZ.Text = Z.ToString();
if(Convert.ToInt32(lblPressure.Text)!= Pressure)
lblPressure.Text = Pressure.ToString();
if (Pressure !=0)
{
File.AppendAllText("test2.txt", Pressure.ToString() + Environment.NewLine);
}
label1.Text = Pressure.ToString();
}
私は
private void button2_Click(object sender, EventArgs e)
{
label5.text = Pressure.ToString();
}
をボタンをクリックしないときだから私は、使用圧力をしたいしかし、私は常に値として0を取得します。申し訳ありません私の英語で 圧力は、コードの最初の部分にのみ、どこにも現れません。あなたが見ることができるように、圧力もファイルに書かれていますが、ボタンをクリックした後に使いたいときは、常に0を表示します。
p.s. label1は正しい値を示します
'' prgPressure'はどこに定義されていますか?どのように定義されていますか?その値はどこに設定されていますか?他にどこに設定されている可能性がありますか?これをデバッグすると、具体的にその値が失われる場所はどこですか? – David
また、なぜあなたはrefで多くのパラメータを渡すのか説明してください。a)どこにも変更しないでください。b)使用していない人もいます。 – Steve
申し訳ありませんが、prgPressureは必要ありません。価値、私は圧力が必要です。 – user3233536