2
A
답변
3
누르고있는 현재 키를 추적 할 수 있습니다. 한 번에 두 개 이상의 키를 처리하는 경우,이
bool bKeyIsDown = false;
Keys currentKey = Keys.None;
public event EventHandler OnKeyPressedOnce;
protected override void OnKeyDown(KeyEventArgs e)
{
if (bKeyIsDown && currentKey == e.KeyCode)
e.SuppressKeyPress = true;
else
{
currentKey = e.KeyCode;
//have your class handle this event and play the sound when this fires
//Could also create custom EventArgs and pass the key pressed
if(OnKeyPressedOnce != null)
OnKeyPressedOnce(null, EventArgs.Empty);
bKeyIsDown = true;
}
base.OnKeyDown(e);
}
protected override void OnKeyUp(KeyEventArgs e)
{
bKeyIsDown = false;
base.OnKeyUp(e);
}
같은 것을, 당신은 키의 목록이 대신 현재 하나 누르는 저장할 수 있습니다.
의견에서 업데이트. 다음은 이벤트를 처리하는 기본 요점입니다.
private void KeyPressedOnce_PlaySound(object sender, EventArgs e)
{
if (currentKey == Keys.A)
{
MediaPlayer p1 = new MediaPlayer();
p1.Open(new System.Uri(wav1Path));
p1.Play();
}
if (currentKey == Keys.S)
{
MediaPlayer p2 = new MediaPlayer();
p2.Open(new System.Uri(wav2Path));
p2.Play();
}
}
무엇을하려하십니까? – keyboardP
키를 눌렀을 때 소리가 나고 키를 놓으면 소리가 멈 춥니 다. – Joscplan