3

テキストボックスのテキスト値を解析するメインボタン関数を取得し、それらの値を別のメソッドに渡します。最初の計算を実行した後、それらのパラメーターを別のボタン関数に渡したいと思います。

メインボタンからint valueOF1, int valueOF2このメソッドに割り当てたい 。public void testfunction(object sender, EventArgs ea)

これどうやってするの??ご協力ありがとうございました。

これはコードです:

private void b_calculate_Click(object sender, EventArgs e)
    {

        int valueOF1;
        int.TryParse(t_Offset1.Text, NumberStyles.Any,
                     CultureInfo.InvariantCulture.NumberFormat, out valueOF1);

        int valueOF2;
        int.TryParse(t_Offset2.Text, NumberStyles.Any,
                     CultureInfo.InvariantCulture.NumberFormat, out valueOF2);

        int pRows = PrimaryRadGridView.Rows.Count;
        int sRows = SecondaryRadGridView.Rows.Count;

        if (pRows == 1 && sRows == 1)
        {
            calculatePS(valueOF1, valueOF2);
        }


}

private void calculatePS(int valueOF1, int valueOF2)
{
    MessageBox.Show("You are using : P-S");
    // Do some calculation & go to the next function ///
    Button2.Enabled = true;
    Button2.Click += testfunction; // Here i want to pass the valueOF1 & valueOF2

}

public void testfunction(object sender, EventArgs ea)
{
    MessageBox.Show("you...!");
    Button2.Enabled = false;
}
4

2 に答える 2

4

関数 calculatePS 内で、最後の行を次のように変更します

Button2.Click += new EventHandler(delegate 
{ 
  // within this delegate you can use your value0F1 and value0F2
  MessageBox.Show("you...!");
  Button2.Enabled = false;
});
于 2012-11-18T13:43:15.960 に答える
2

valueOF1とをクラス フィールドとして宣言valueOF2できるため、さまざまなメソッドからアクセスできます。

コードは次のようになります。

int valueOF1 = 0;
int valueOF2 = 0;

private void b_calculate_Click(object sender, EventArgs e)
{
    int.TryParse(t_Offset1.Text, NumberStyles.Any,
                 CultureInfo.InvariantCulture.NumberFormat, out valueOF1);

    int.TryParse(t_Offset2.Text, NumberStyles.Any,
                 CultureInfo.InvariantCulture.NumberFormat, out valueOF2);

    int pRows = PrimaryRadGridView.Rows.Count;
    int sRows = SecondaryRadGridView.Rows.Count;

    if (pRows == 1 && sRows == 1)
    {
        calculatePS();
    }
}

private void calculatePS()
{
    // ** you can use valueOF1 and valueOF2 here **

    MessageBox.Show("You are using : P-S");
    // Do some calculation & go to the next function ///
    Button2.Enabled = true;

    //probably no need to register the Button2.Click event handler
    //except when the form is created
    //
    //Button2.Click += testfunction; 
}

public void testfunction(object sender, EventArgs ea)
{
    // ** you can use valueOF1 and valueOF2 here as well **

    MessageBox.Show("you...!");
    Button2.Enabled = false;
}

追記: 解析が成功したかどうかをint.TryParse示す値を返します。bool戻り値が の場合false、通常のフローを続行する代わりに、何らかの方法で解析エラーを処理したい場合があります。

于 2012-11-18T13:42:32.563 に答える