【发布时间】:2012-08-29 18:34:05
【问题描述】:
我正在使用 Microsoft Visual C# 2010 Express 编写一个窗口窗体应用程序。我正在写一个数独程序。我以前写过这个程序并让它工作。由于硬盘驱动器故障,我丢失了源代码。我在表格上画了一个网格。我让鼠标事件起作用。我得到了按键事件来工作。然后我在表单中添加了几个按钮并让它们工作。但随后出现问题。在我添加按钮并让它们工作后,按键事件停止工作。为什么按钮事件和按键事件会发生冲突?
这是一个有同样问题的演示程序的代码。 '代码' 私人无效doMouseDown(对象发送者,MouseEventArgs e) { 诠释我; 我 = 0; }
private void DoKeyPress(object sender, KeyPressEventArgs e)\\ This worked until I added
{
int i;
i = 1;
}
private void doClickButton(object sender, EventArgs e) \\ This
{
int i;
i = 2;
}
‘代码’
鼠标事件和按键事件被添加到表单中。
看起来我需要一种方法来将焦点设置在表单上。在使用按钮之前,程序需要在鼠标和键盘之间来回切换。
【问题讨论】:
-
请您向我们展示这些事件的代码以帮助您
-
您将关键事件添加到了什么?表格?您是否确认事件仍然存在并且您没有意外删除它们?
-
我猜,您添加 KeyPress 事件处理程序的对象不再具有键盘焦点。也许 PreviewKeyDown 会帮助你。