处理Label和PictureBox的KeyDown

时间:2011-08-21 00:16:22

标签: winforms picturebox keydown

我正在使用PictureBox在主对话框表格中放置和重新定位(移动)一些图片。 我希望能够删除按下的Delete键上的图片。 我找不到列出的控件的键盘处理事件。

好吧,我可以将KeyDown用于Form并检查PictureBox是否有焦点,但看起来很难看。

可以看到它有事件http://msdn.microsoft.com/en-us/library/system.windows.forms.picturebox.keydown.aspx

但实际上并没有......

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

这是一个不那么微妙的提示,这些控件都不能得到关注。键盘事件仅为可以聚焦的控件生成。 TextBox是最终的例子,但许多其他人都这样做。他们可以通过虚线聚焦矩形,颜色或插入符号向用户指示焦点。

但不是PictureBox也不是Label,你可以点击它们所有你想要的但它们不会成为焦点并且不会指出它。它们只是分别显示图像或文本的小石头。用户不希望他们做任何有趣的事情。

我不知道你想给他们什么样的焦点行为,但是将一个不可聚焦的控制转变为可聚焦控制的例子是this answer

答案 1 :(得分:1)

由于图片框无法获得焦点,因此请查看表单,并在用户按Delete键时查看焦点可能(或可能)的位置。

确定您希望删除键的表单上的哪些控件(按钮,复选框等,但可能不是文本框),并使用这些控件中的keydown事件来执行相应的操作。 / p>

表单的keydown事件并不总是按照您期望的方式工作,因此在表单的各个控件中使用keydown事件可能会更好。