combobox用上下方向键移动下拉选项时,为什么会触发SelectedIndexChanged事件

pengwentao 2017-11-22 05:28:18
本来是用鼠标操作选择combobox的下拉选项的,鼠标选中下拉列表中某个选项后,会触发SelectedIndexChanged事件;
但是用上下方向键移动方向时(还未按下回车键确认选项),为什么就触发了SelectedIndexChanged这个事件呢。
我的目的是,想用上下方向键选择combobox的下拉列表的选项(这时不触发SelectedIndexChanged),按下回车键后,才算选中了某个选项。
...全文
541 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
如果你要捕获 Enter 键事件,救捕获正确的事件。总之是顺应系统架构设计来设计自己的系统,而不要逆着只知道自己那一套需求。
易2017 2017-11-23
  • 打赏
  • 举报
回复
引用 楼主 pengwentao 的回复:
本来是用鼠标操作选择combobox的下拉选项的,鼠标选中下拉列表中某个选项后,会触发SelectedIndexChanged事件; 但是用上下方向键移动方向时(还未按下回车键确认选项),为什么就触发了SelectedIndexChanged这个事件呢。 我的目的是,想用上下方向键选择combobox的下拉列表的选项(这时不触发SelectedIndexChanged),按下回车键后,才算选中了某个选项。
你光标选中的地方就是改变了index的值,你可以用selectchangecommited试试
  • 打赏
  • 举报
回复
只要是改变选中的项目,就会触发选中改变事件。
pengwentao 2017-11-23
  • 打赏
  • 举报
回复
引用 3 楼 sp1234 的回复:
如果你要捕获 Enter 键事件,救捕获正确的事件。总之是顺应系统架构设计来设计自己的系统,而不要逆着只知道自己那一套需求。
谢谢您热心帮忙想办法。
pengwentao 2017-11-23
  • 打赏
  • 举报
回复
引用 2 楼 qq_38588710 的回复:
[quote=引用 楼主 pengwentao 的回复:] 本来是用鼠标操作选择combobox的下拉选项的,鼠标选中下拉列表中某个选项后,会触发SelectedIndexChanged事件; 但是用上下方向键移动方向时(还未按下回车键确认选项),为什么就触发了SelectedIndexChanged这个事件呢。 我的目的是,想用上下方向键选择combobox的下拉列表的选项(这时不触发SelectedIndexChanged),按下回车键后,才算选中了某个选项。
你光标选中的地方就是改变了index的值,你可以用selectchangecommited试试[/quote] 非常感谢,SelectionChangeCommitted完美地解决这个问题。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧