Есть родительское главное окно(IsMDIContainer = true) с меню. из меню вызывается форма (MdiChildren). Когда форма(MdiChildren) активная, нажимаем функциональные кнопки (F4, F12, F10, F9), нужно отловить эти нажатия.
события формы не работают.(во всяком случае под отладчиком я туда не попадаю)
private void frmRunnerDataEntry_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
int i = e.KeyChar;
}
private void frmRunnerDataEntry_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
int i = e.KeyValue;
}
private void frmRunnerDataEntry_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
{
int i = e.KeyValue;
}
Может кто другое решение знает.
что то вроде:
To create an access key for a control programmatically
Set the Text property to a string that includes an ampersand before the letter that will be the shortcut.
// C#
// Set the letter "P" as an access key.
button1.Text = "&Print";
только без Alt + , а (кнопка А4)
13.07.06 20:31: Перенесено модератором из '.NET' — IT
Здравствуйте, narvan, Вы писали:
N>Есть родительское главное окно(IsMDIContainer = true) с меню. из меню вызывается форма (MdiChildren). Когда форма(MdiChildren) активная, нажимаем функциональные кнопки (F4, F12, F10, F9), нужно отловить эти нажатия.
N>события формы не работают.(во всяком случае под отладчиком я туда не попадаю)
Во-первых, не мешало бы переопределить у дочерней формы метод IsInputKey. Во-вторых, отлавливать события, по-моему, должна дочерняя форма, и потом (если это необходимо), перенаправлять к родительской.
N>Может кто другое решение знает.
N>что то вроде:
N>To create an access key for a control programmatically
N>Set the Text property to a string that includes an ampersand before the letter that will be the shortcut.
N>// C#
N>// Set the letter "P" as an access key.
N>button1.Text = "&Print";
N>только без Alt + , а (кнопка А4)
Если использовать MenuStrip, то внего можно добавить ToolStripMenuItem'ы, у которых есть свойство ShortcutKeys.
Нужно носить в себе еще хаос, чтобы быть в состоянии родить танцующую звезду.
Здравствуйте, konsoletyper, Вы писали:
K>Во-первых, не мешало бы переопределить у дочерней формы метод IsInputKey. Во-вторых, отлавливать события, по-моему, должна дочерняя форма, и потом (если это необходимо), перенаправлять к родительской.
IsInputKey — не надо переопределять, Достаточно поставить true в проперти дочерней формы KeyPrewiev. и события обрабатываются
K>Если использовать MenuStrip, то внего можно добавить ToolStripMenuItem'ы, у которых есть свойство ShortcutKeys.
MenuStrip — Не нашел етот компонент у себя в тулбаре.(Microsoft Visual C#.NET (2003))
Здравствуйте, narvan, Вы писали:
N>MenuStrip — Не нашел етот компонент у себя в тулбаре.(Microsoft Visual C#.NET (2003))
Ну так понятное дело. Ведь MenuStrip из второго .NET'а.
Нужно носить в себе еще хаос, чтобы быть в состоянии родить танцующую звезду.
MenuStrip нет в NET 1.0, 1.1 появился в NET 2.0 и следовательно нужна VS 2005
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение