Я хочу, чтобы переменная увеличивалась при нажатии пробела. Это то, что я пробовал до сих пор, и он, похоже, не работает. Нет сообщения об ошибке, поэтому я не знаю, что не так.Не получить ввод пробела
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
int Coins = 0;
int ButtonKeyNumber = (int)Key.Space;
private void textBlockCoins_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyValue == ButtonKeyNumber)
{
Coins = Coins + 1;
textBlockCoins.Text = "You Have " + Coins + "Coins";
}
}
}
Когда я запускаю код, текстовое поле просто говорит «У вас есть 0 монет». Переменная ButtonKeyNumber существует, потому что я хочу иметь возможность легко изменять, какой ключ нужно будет нажимать.
Зачем вам переменную вообще? Сравните непосредственно с 'Key.Space', а затем используйте отладчик, чтобы выяснить, какой ключ вы используете в' e.KeyValue'. –
Действительно ли вызван ваш callback-вызов KeyDown? Убедитесь, что правильный элемент управления имеет фокус (сначала нажмите на textBlockCoins), чтобы получить событие KeyDown. Поместите точку останова на 'if' и посмотрите, каково значение e.KeyValue на самом деле! – khargoosh
сделал 'textBlockCoins_KeyDown' триггер? –