gpt4 book ai didi

c# - 调用 TextBox.AppendText() 后显示自动完成列表

转载 作者:太空宇宙 更新时间:2023-11-03 12:06:05 25 4
gpt4 key购买 nike

我在 winforms 对话框(在 .net4.5 上)中有一系列按钮,它们将文本片段附加到名为 FieldDescription 的文本框,如下所示:

private void SnippetButton_Click(object sender, EventArgs e)
{
var btn = sender as Button;
FieldDescription.AppendText(btn.Text);
FieldDescription.Focus();
}

文本框有一个自动完成源,我希望自动完成在附加文本后打开。这个想法是让用户可以轻松地用最常用文本的开头字符预填充文本框。在许多情况下,这意味着他们只需在单击按钮后从自动完成列表中选择一个条目,而无需使用键盘。

有没有办法在像这样以编程方式附加文本后触发自动完成窗口?

最佳答案

令人惊讶的是,我找不到很好地做到这一点的方法。

如果您在 .NET 中找不到方法,您可以通过 p/invoke 来完成。

[DllImport("user32.dll", CharSetCharSet = CharSet.Auto, SetLastError = false)]  
static extern IntPtr SendMessage(IntPtr hWnd, Int32 Msg, IntPtr wParam, IntPtr lParam);
private const int CB_SHOWDROPDOWN = 0x014F;

SendMessage(FieldDescription.Handle, CB_SHOWDROPDOWN, (IntPtr)1, (IntPtr)0);

你可以把它放到OnFocus事件中。

关于c# - 调用 TextBox.AppendText() 后显示自动完成列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54943771/

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