中关村在线

首页 排行 新品 问答 下载 论坛 手机 笔记本 数码相机 主板 显卡 平板电脑 更多

电脑上岀现autocolor是什么意思

举报
讨论回答 (7)
dt772754366
q62551230
jelyufo
复制 黏贴
axc1006
zerovovipq
复制 粘贴
baidu_luoshantut
键盘输入工作原理
Windows 窗体通过引发键盘事件来处理键盘输入以响应 Windows 消息。 大多数 Windows 窗体应用程序都通过处理键盘事件来以独占方式处理键盘输入。

按键的类型
Windows 窗体将键盘输入标识为由按位 Keys 枚举表示的虚拟键代码。 使用 Keys 枚举,可以综合一系列按键以生成单个值。 这些值与 WM_KEYDOWN 和 WM_SYSKEYDOWN Windows 消息所伴随的值相对应。 可通过处理 KeyDown 或 KeyUp 事件来检测大多数物理按键操作。 字符键是 Keys 枚举的子集,它们与 WM_CHAR 和 WM_SYSCHAR Windows 消息所伴随的值相对应。 如果通过组合按键得到一个字符,则可以通过处理 KeyPress 事件来检测该字符。 或者,可以使用由 Visual Basic 编程接口公开的 Keyboard 来发现已按下的键并发送它们。 有关更多信息,请参见 访问键盘 (Visual Basic)。

键盘事件的顺序
正如上面列出的那样,在一个控件上可能出现三个与键盘相关的事件。 以下顺序是发生这些事件的常规顺序:

用户按“a”键,该键将被预处理和调度,而且会发生 KeyDown 事件。

用户按住“a”键,该键将被预处理和调度,而且会发生 KeyPress 事件。

在用户按住某个键时,此事件会发生多次。

用户松开“a”键,该键将被预处理和调度,而且会发生 KeyUp 事件。

键的预处理
像其他消息一样,键盘消息是在窗体或控件的 WndProc 方法中处理的。 但是,在处理键盘消息之前, PreProcessMessage 方法会调用一个或多个方法,这些方法可被重写以处理特殊的字符键和物理按键。 您可以重写这些方法,以便在控件处理消息之前检测并筛选某些按键。 下表按照方法出现的顺序列出了正在执行的操作以及所出现的相关方法。

ms171535.collapse_all(zh-cn,VS.110).gifKeyDown 事件的预处理
操作

相关方法

注释

检查命令键(如快捷键或菜单快捷键)。

ProcessCmdKey

此方法处理命令键,命令键的优先级高于常规键。 如果此方法返回 true,则将不调度键消息,而且将不发生键事件。 如果此方法返回 false,则将调用 IsInputKey.

检查该键是否为需要预处理的特殊键,或者它是否为应引发 KeyDown 事件并且被调度到某个控件的普通字符键。

IsInputKey

如果此方法返回 true,则表示该控件为常规字符,而且将引发 KeyDown 事件。 如果此方法返回 false,则将调用 ProcessDialogKey。

说明说明
为了确保控件获取某个键或键的组合,您可以处理 PreviewKeyDown 事件,并针对所需的键,将 PreviewKeyDownEventArgs 的 IsInputKey 设置为 true。
检查该键是否为导航键(Esc、Tab、回车键或箭头键)。

ProcessDialogKey

此方法处理在控件内实现特殊功能(如在控件及其父级之间切换焦点)的物理按键。 如果中间控件不处理该键,则将调用父控件的 ProcessDialogKey,直至层次结构中的最顶端控件。 如果此方法返回 true,则将完成预处理,而且将不生成按键事件。 如果此方法返回 false,则将发生 KeyDown 事件。

ms171535.collapse_all(zh-cn,VS.110).gifKeyPress 事件的预处理
操作

相关方法

注释

检查该键是否为控件应当处理的普通字符

IsInputChar

如果该字符是普通字符,则此方法返回 true,并且将引发 KeyPress 事件,而且不再进行预处理。 否则,将调用 ProcessDialogChar。

检查该字符是否为助记符(如按钮上的“确定(&O)”)

ProcessDialogChar

类似于 ProcessDialogKey,将沿控件的层次结构向上调用此方法。 如果控件是容器控件,此方法将通过调用控件及其子控件的 ProcessMnemonic 来检查助记键。 如果 ProcessDialogChar 返回 true,则 KeyPress 事件不会发生。

处理键盘消息
键盘消息在到达窗体或控件的 WndProc 方法之后,它们将由一组可被重写的方法来处理。 其中的每种方法都返回一个 Boolean 值,该值指定控件是否已处理和使用了键盘消息。 如果其中的某种方法返回 true,则键盘消息将被视为已处理,而且它将不传递到控件的基控件或父控件进行进一步处理。 否则,消息将停留在消息队列中,而且可能会在控件的基控件或父控件的其他方法中进行处理。 下表显示用来处理键盘消息的方法。

方法

注释

ProcessKeyMessage

此方法处理由控件的 WndProc 方法接收的所有键盘消息。

ProcessKeyPreview

此方法将键盘消息发送到控件的父控件。 如果 ProcessKeyPreview 返回 true,则将不生成键事件;否则将调用 ProcessKeyEventArgs。

ProcessKeyEventArgs

此方法根据需要引发 KeyDown、 KeyPress 和 KeyUp 事件。

重写键盘方法
在预处理和处理键盘消息时,可以使用许多方法进行重写;但是,这些方法有好有坏。 下表显示可能需要完成的任务以及重写键盘方法的最佳方式。 有关重写方法的更多信息,请参见 Overriding Properties and Methods。

任务

方法

截获导航键并引发 KeyDown 事件。 例如,您希望在文本框中处理 Tab 和回车键。

重写 IsInputKey。

说明说明
此外,也可以处理 PreviewKeyDown 事件,并针对所需的一个或多个键,将 PreviewKeyDownEventArgs 的 IsInputKey 设置为 true。
在控件上执行特殊的输入或导航处理。 例如,您可能希望在列表控件中使用箭头键更改选定项。

重写 ProcessDialogKey

截获导航键并引发 KeyPress 事件。 例如,您可能希望在数字显示框控件中,多次按箭头键来加快数值的设定速度。

重写 IsInputChar。

在发生 KeyPress 事件期间执行特殊的输入或导航处理。 例如,在列表控件中,按住“r”键将跳到以字母 r 开头的项并在这些项间切换。

重写 ProcessDialogChar

执行自定义的助记键处理;例如,您希望处理所有者描述的、包含在工具栏中的按钮上的助记键。

重写 ProcessMnemonic。
yb513406521
展开查看全部 7 条讨论
相关问题

主用于 AuToCAD 绘图,用什么笔记本好?

1379 浏览 8 回答

主用于 AuToCAD 绘图,用什么笔记本好?

1405 浏览 5 回答

笔记本,要求轻薄,主要用于办公和autocad画图

1480 浏览 5 回答

安装AutoCAD2014后不能使用,就用腾讯的软件管理强力删除后重新下载安装,安装后显示已经安装好了,但是电脑上却没有软件,这是怎么回事,应该怎么处理?

1022 浏览 5 回答

Windows无法启动Remote Access Auto Connection Manager 服务(位于 本地计算机上)错误1068:依赖服务或组无法启动

7819 浏览 5 回答

扩展阅读

中画幅玩转生态摄影 富士GFX100 II相机+GF500mmF5.6镜头拍鸟体验

评论 0

中画幅玩转生态摄影 富士GFX100 II相机+GF500mmF5.6镜头拍鸟体验

小屏旗舰的AI魅力 vivo X200 Pro mini AI体验分享

评论 0

小屏旗舰的AI魅力 vivo X200 Pro mini AI体验分享

畅玩90分钟也满帧 iQOO 13无限稳帧能力实测

评论 0

畅玩90分钟也满帧 iQOO 13无限稳帧能力实测

华硕X870吹雪S主板完美适配 锐龙9000X3D处理器首测

评论 0

华硕X870吹雪S主板完美适配 锐龙9000X3D处理器首测

DJI飞行眼镜N3评测:高性价比的DJI Neo沉浸式飞行组合

评论 1

DJI飞行眼镜N3评测:高性价比的DJI Neo沉浸式飞行组合
热门问题

马斯克有华人血脉吗

8771 浏览 7 回答

马斯克有华人血脉吗

macbook怎么下载人人影视的资源?mbp新手求别鄙视

4777 浏览 5 回答

macbook怎么下载人人影视的资源?mbp新手求别鄙视

幼儿裂缝进不去怎么办视频都市网

5779 浏览 7 回答

幼儿裂缝进不去怎么办视频都市网

荣耀Magic7 Pro

9711 浏览 1 回答

荣耀Magic7 Pro

华为量子芯片概念股有哪些?

6707 浏览 6 回答

华为量子芯片概念股有哪些?

有一样东西,比雪还白,比黑板还黑,男的一天用三次,女的一辈子用一次,是什么?

6428 浏览 6 回答

有一样东西,比雪还白,比黑板还黑,男的一天用三次,女的一辈子用一次,是什么?

抖音十大股东是谁?

3321 浏览 6 回答

抖音十大股东是谁?

肿么找回QQ浏览器历史记录

7291 浏览 6 回答

肿么找回QQ浏览器历史记录

百度收录最好的分类信息网,大家给推荐一下。

5808 浏览 7 回答

百度收录最好的分类信息网,大家给推荐一下。

oppo手机怎样设置桌面小组件

6352 浏览 6 回答

oppo手机怎样设置桌面小组件
最新问答

wps在mac中截图快捷键?

934 浏览 4 回答

wps在mac中截图快捷键?

小鸡舰队秘境招募玩法详解,心愿英雄与试炼任务攻略?

101 浏览 7 回答

小鸡舰队秘境招募玩法详解,心愿英雄与试炼任务攻略?

wps在mac中截图快捷键?

934 浏览 4 回答

wps在mac中截图快捷键?

佳能m6快门速度肿么调

1.1万 浏览 9 回答

佳能m6快门速度肿么调

excel里中文名怎么转换成拼音

9982 浏览 6 回答

excel里中文名怎么转换成拼音
举报
举报成功

经过核实后将会做出处理,感谢您为社区和谐做出贡献。

请选择删除原因
删除成功
确定推荐该回答?
推荐成功

更多频道

频道导航
辅助工具