2015-04-03 5 views
-1

Это про самую легкую вещь когда-либо. Я делаю некоторые упражнения и уже сделал это, но удалил. Я помню, что это заняло у меня 2 минуты, и теперь я не знаю, как это сделать.Когда кнопка нажата +1

Все, что я хочу, когда кнопка нажата и ярлык будет идти + 1

private void Button1_Click(object sender, RoutedEventArgs e) 
{ 
int Amount; 
Amount = 0; 
Amount++; 
Label.Content = Amount; 
} 

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

+0

Затем верните значение суммы с вашей метки – Steve

+0

Вам нужно объявить сумму на уровне класса, чтобы отслеживать между кликами. – lintmouse

ответ

1

Это из-за объема переменной. Объявите сумму на уровне класса, и она должна работать.

private int Amount = 0; 
private void Button1_Click(object sender, RoutedEventArgs e) 
{ 
    Amount++; 
    Label.Content = Amount; 
} 
0

Это потому, что, когда вы нажимаете кнопку, сначала вы устанавливаете Amount на ноль, а затем увеличиваете ее. Вы должны удалить эту переменную из кнопки и установить ее на другое место.

1

Вы должны хранить сумму в качестве поля, или каким-либо другим способом, имеющее значение существует вне жизни обработчика щелчка кнопки:

private int Amount = 0; 
private void Button1_Click(object sender, RoutedEventArgs e) 
{ 
    Amount++; 
    Label.Content = Amount; 
} 

Здесь Amount, потому что поле, связанное с экземпляром вашего окна.

+0

Не нужно ли ему конвертировать 'Amount' в строку перед назначением метки? – EyeSeeSharp

+0

@EyeSeeSharp Нет, ['Content'] (https://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol.content (v = vs.110) .aspx) в WPF является 'object', а не строка. WPF заботится о том, как отображать объект. – vcsjones

+0

О, интересно, спасибо, что поделились этим! – EyeSeeSharp

0

Объявить сумму за пределами всех методов. Вы просто перезагружаете его каждый раз, когда вы нажимаете на 0.

Смежные вопросы