Diskuze: Shortcuts
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 9 zpráv z 9.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
private void MasterForm_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Control && e.KeyCode== Keys.Enter)
{
var denikF = new DenikForm();
denikF.Show();
}
}
Kdyby to nefungovalo tak další alternativa je:
private void MasterForm_KeyDown(object sender, KeyEventArgs e)
{
bool ctrl, enter;
if(e.KeyCode == Keys.Control) ctrl=true;
if(e.KeyCode == Keys.Enter) enter=true;
if(ctrl && enter)
{
var denikF = new DenikForm();
denikF.Show();
}
}
je treba rozlisovat key data a key code
if (e.KeyData == (Keys.Control | Keys.Enter))
Console.WriteLine("k1");
if (e.KeyCode == Keys.Enter && e.Control)
Console.WriteLine("k2");
if (e.KeyData.HasFlag(Keys.Enter) && e.KeyData.HasFlag(Keys.Control))
Console.WriteLine("k3");
Nastav.
MasterForm.KeyPreview = true;
Alebo môžeš overridnuť ProcessCmdKey.
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
if (keyData == (Keys.Control | Keys.F)) {
MessageBox.Show("Ctrl+F");
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
Zobrazeno 9 zpráv z 9.