스페이스 바를 누르면 변수를 증가 시키길 원합니다. 이것은 지금까지 시도한 것으로 작동하지 않는 것 같습니다. 오류 메시지가 없으므로 무엇이 잘못되었는지 알지 못합니다.스페이스 바를 입력하지 못했습니다.
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";
}
}
}
코드를 실행하면 텍스트 상자에 "You Have 0 Coins"이라고 표시됩니다. 어떤 키를 누를 필요가 있는지 쉽게 변경할 수 있기를 원하기 때문에 ButtonKeyNumber 변수가 있습니다.
왜 당신이 모든 변수를 필요합니까? 'Key.Space'와 직접 비교 한 다음, 디버거를 사용하여'e.KeyValue'에 어떤 키가 있는지 알아보십시오. –
KeyDown 이벤트 콜백이 실제로 호출되고 있습니까? KeyDown 이벤트를 수신하려면 올바른 컨트롤에 포커스가 있는지 확인하십시오 (먼저 textBlockCoins를 클릭하십시오). 'if'에 중단 점을 넣고 실제로 e.KeyValue의 값을 봅니다! – khargoosh
'textBlockCoins_KeyDown' 트리거가 실행 되었습니까? –