Вызовите LIST <DOUBLE>внутри события click1 в событие click2 в c # - PullRequest
0 голосов
/ 16 октября 2018

У меня есть две кнопки в моем приложении формы окна C #.Button1 и Button2.я хочу использовать переменную и список, рассчитанный в событии Button1, в качестве входной переменной в событии Button2.Как мне это сделать?Пример:

private void button1_Click(object sender, EventArgs e) 
{
   int a;
   // some steps 
   // after these steps, assume a gets the value of 5 so a = 5 at this point.
// also there is a list which gets its values after these steps
List<double> parameterValues = new List<double> { 
                i.GetDouble(), S.GetDouble(), L.GetDouble(),B.GetDouble()                   
};
}

Вот код для события button2, в котором я хочу использовать значение, вычисленное в коде кнопки 1.

private void button2_Click(object sender, EventArgs e) 
{
   int b = a + 5;
// some code to call the list as well
}

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

В данный момент у вас проблема с областью действия.Значение, которое вы хотите использовать внутри нажатия кнопки 2, должно быть как минимум модульным по отношению к классу форм для использования в обоих методах.В этом примере «externalValue» является модульным и может быть доступно обоим.Прочитайте эту статью, чтобы получить лучший обзор области видимости переменной.

https://msdn.microsoft.com/en-us/library/ms973875.aspx

public partial class Form1 : Form
{
    private int outerValue = 0;

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void button1_Click(object sender, EventArgs e)
    {
        int a = 5;
        outerValue = a + 5;
    }

    private void button2_Click(object sender, EventArgs e)
    {
        int b = outerValue + 5;
    }
}
0 голосов
/ 16 октября 2018

Вы должны сделать int глобальным, чтобы использовать его в обеих кнопках.

public int a;

private void button1_Click(object sender, EventArgs e) 
{
  a = 5;
// some steps 
// after these steps, assume a gets the value of 5 so a = 5 at this point.
}



private void button2_Click(object sender, EventArgs e) 
{
   int b = a + 5;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...