Добавить в int каждый раз, когда нажимается кнопка и отображается в текстовом поле c #

Я очень новичок в программировании, и я стараюсь это делать каждый раз, когда вы нажимаете кнопку, это добавляет значение к значению int и показывает его в текстовом поле . Мой код:

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

    txtBox1.Text = a.ToString();
}

Поэтому, когда я нажимаю кнопку, она отображается в текстовом поле 101, но когда я нажимаю ее снова, я хочу, чтобы текстовое поле показывало 102 и 103 и т. Д. И т. Д. Любые идеи? Я предполагаю, что это очень легко и использует некоторые вариации цикла, но я пробовал несколько вещей и ничего не работает. Любые советы будут очень признательны! Благодарю.

1

8 ответы

Вы должны хранить свое значение вне тела метода.

private int a = 100;

private void button1_Click(object sender, EventArgs e)
{        
     a++;

      txtBox1.Text = a.ToString();
}

Что вы делали в своей программе, когда вы нажимали кнопку, новый Integer a был объявлен со значением 100, тогда вы увеличиваете его на 1, и именно поэтому вы всегда видели «101».

4
добавлено
Огромное спасибо!! Кажется довольно простым сейчас! :)
добавлено автор dcolton147, источник

Вам нужно объявить a как член класса, содержащего ваш метод:

private int _a = 100;

private void button1_Click(object sender, EventArgs e)
{
    _a++;

    txtBox1.Text = _a.ToString();
}

Если вы этого не сделаете, у вас будет новый экземпляр при каждом нажатии кнопки, поэтому в текстовом поле вы всегда увидите 101.

0
добавлено

Размещение int a = 100; внутри кнопки button1_Click (отправитель объекта, EventArgs e) установит a до 100 при выполнении каждой функции времени. Если вам нужно, чтобы счетчик помещал его вне функции (тогда он будет инициализироваться только один раз.) И увеличивайте его при выполнении функции.

Solution

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

    txtBox1.Text = a.ToString();
}
0
добавлено

В вашем коде вы delcare a и присваиваете ему значение снова и снова при каждом нажатии на кнопку.

Вы должны объявить переменную вне метода button1_Click :

class Window1
{
    int a = 100;
    ....
    private void button1_Click(object sender, EventArgs e)
        {
            a++;
            txtBox1.Text = a.ToString();
        }
}
0
добавлено

Невозможно создать глобальные поля и сохранить количество кликов внутри текстового поля. Это особенно удобно, если у вас несколько кнопок.

private void button1_Click(object sender, EventArgs e)
    {     
        if (txtBox1.Tag is int)
        {
            int a = (int)txtBox1.Tag;
            a++;

            txtBox1.Tag = a;

            txtBox1.Text = a.ToString();
        }
        else
        {
            txtBox1.Tag = 100;
            txtBox1.Text = 100;
        }
}
0
добавлено
int a = 100;
txtBox1.Text = a.ToString();
  ......

private void button1_Click (отправитель объекта, EventArgs e)     {

    a++;

   txtBox1.Text = a.ToString();
}
0
добавлено
static int a = 100;

private void button1_Click(object sender, EventArgs e)
{        
     a++;

      txtBox1.Text = a.ToString();
}
0
добавлено

если вы хотите оптимизировать свой код, чем сначала установить свойство textbox text = 100 и написать только один код строки в событии нажатия кнопки

private void button1_Click(object sender, EventArgs e)
{            
    txtBox1.Text = (Convert.ToInt32(txtBox1.Text) + 1).ToString();
}

поскольку вы знаете, что C# соответствует коду по строкам, и у вас есть только один код строки, чем он дает более высокую производительность.

0
добавлено
Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot