-1
포블이 있습니다. Enter 키를 누른 후 새 폼 (form2)을 열면 db에 뭔가를 추가 할 수 있습니다. Form2에있는 버튼 Ok입니다. Enter 키를 눌러이 버튼을 활성화하면 form2를 닫습니다.C# - KeyUp은 하나의 양식으로 만 가능합니다.
private void Form1_Load(object sender, EventArgs e)
{
this.KeyPreview = true;
this.KeyUp += new System.Windows.Forms.KeyEventHandler(KeyEvent);
}
private void KeyEvent(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
dataGridViewSkladovePolozky.Focus();
pridatDoKosiku();
}
}
private void buttonPridatDoKosiku_Click(object sender, EventArgs e)
{
pridatDoKosiku();
}
private void pridatDoKosiku()
{
PridatDoKosiku pridatDoKosiku = new PridatDoKosiku();
pridatDoKosiku.ShowDialog();
refreshNakupniKosik(true);
pridatDoKosiku.Dispose();
}
이것은 'this.KeyPreview = true;'에 의해 발생합니다. form2가 열릴 때이 동작을 유지하려면'KeyEvent'에'if (form2.Visible) return; '을 추가하십시오. –
KeyUp를 선호 할 특별한 이유가 없습니다. 아마도 KeyPreview의 어색한 동작을 해결하기 위해이 작업을 수행했을 것입니다. 어떤 레거시 VB6 속성 및 VB6 의미, 당신은 탐색 키에 대한 KeyDown 이벤트를 얻을 수 없습니다. Enter를 누르십시오. 대신 ProcessCmdKey()를 재정의하십시오. –