gpt4 book ai didi

C# 自动完成文本框点击事件

转载 作者:太空狗 更新时间:2023-10-29 23:33:31 25 4
gpt4 key购买 nike

我使用 c# winforms visual studio 2010。我有一个文本框,其中有一个列表作为自动完成数据源。一切都很好,除了我在单击自动完成时找不到事件。我想在自动完成行上点击 do 和其他东西,除了只用选定的行值填充文本框。可能吗?

非常感谢

最佳答案

我进行了一次快速测试,这似乎有效,如果这很老套,请不要介意我。我创建了一个继承自 TextBoxUserControl。它监视 KeyDown 事件,该事件在 TextChanged 事件之前触发,将位切换为 true 并具有 TextChanged事件检查位并抛出一个事件 (AutoCompleteUsed) 以提醒监视类使用了自动完成功能。

public partial class MyTextBox : TextBox
{
public delegate void AutoCompleteDelegate();
public event AutoCompleteDelegate AutoCompleteUsed;
public MyTextBox()
{
InitializeComponent();
this.TextChanged += MyTextBox_TextChanged;
this.KeyDown += MyTextBox_KeyDown;
}
private bool keyPressed = false;
void MyTextBox_KeyDown(object sender, KeyEventArgs e)
{
keyPressed = true;
}

void MyTextBox_TextChanged(object sender, EventArgs e)
{
if (!keyPressed && AutoCompleteUsed != null)
{
AutoCompleteUsed();
}
keyPressed = false;
}
}

编辑 1:@Hans Passant 在他的评论中给了我答案,我只是给了你一个可行的(大概?)例子。

关于C# 自动完成文本框点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9656723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com