C# 在文本框中处理自动完成。与按enter键不同

C# 在文本框中处理自动完成。与按enter键不同,c#,winforms,event-handling,C#,Winforms,Event Handling,设置Windows.Forms.TextBox的AutoCompleteCustomSource属性时,在输入文本框时会显示变量列表。 可以使用鼠标指向并单击其中一个变体,也可以使用上下按钮进行选择并按Enter键。 您也可以随时按enter键 一个问题的要点是,当用鼠标进行选择时,KeyDown(KeyUp,KeyPress)事件会被触发,就像键盘上按了Enter键一样。 如何确定实际发生的情况,并使用鼠标curor和按Enter键以不同方式处理选择?我通过跟踪文本框的鼠标和键盘事件解决了这个

设置Windows.Forms.TextBox的AutoCompleteCustomSource属性时,在输入文本框时会显示变量列表。 可以使用鼠标指向并单击其中一个变体,也可以使用上下按钮进行选择并按Enter键。 您也可以随时按enter键

一个问题的要点是,当用鼠标进行选择时,KeyDown(KeyUp,KeyPress)事件会被触发,就像键盘上按了Enter键一样。
如何确定实际发生的情况,并使用鼠标curor和按Enter键以不同方式处理选择?

我通过跟踪文本框的鼠标和键盘事件解决了这个问题。产生的功能类似于浏览器地址栏。我现在无法获得源代码,但它是关于MouseDown、MouseUp、KeyDown和keydup的基本逻辑,同时将它们的值存储在变量中。

我通过跟踪文本框的鼠标和键盘事件解决了这个问题。产生的功能类似于浏览器地址栏。我现在无法获得源代码,但它是关于MouseDown、MouseUp、KeyDown和keydup的基本逻辑,同时将它们的值存储在变量中。

请详细了解。我尝试过跟踪这些事件,但是当点击autosuggestions列表时,文本框不会生成任何鼠标事件(MouseUp、MouseDown、MouseClick)。这些鼠标事件的去向对我来说有点神秘。很可能它们被临时可见列表控件(据我所知,我们无法对其进行控制)所占用。请详细了解。我尝试过跟踪这些事件,但是当点击autosuggestions列表时,文本框不会生成任何鼠标事件(MouseUp、MouseDown、MouseClick)。这些鼠标事件的去向对我来说有点神秘。它们很可能被临时可见列表控件(据我所知,我们无法对其进行控制)所使用。