gpt4 book ai didi

.net - 覆盖文本框中的默认按键行为

转载 作者:行者123 更新时间:2023-12-02 08:19:31 24 4
gpt4 key购买 nike

我刚刚在 TextBox 中实现了快速自动完成功能,该功能从相当小的列表中提取字符串并“完成”该单词。 TextBox 插入符号停留在上次按键时所在的位置,并且用户尚未输入的单词部分会突出显示,这样开始输入其他内容将删除该部分输入。

棘手的是,我需要这样,在完成和部分突出显示时,空格键充当“接受”键 - 例如,它将插入符号移动到完成的单词的末尾。然而,无论我做什么,按空格键都会删除单词的突出显示部分(用空格字符替换它,就像按任何其他键一样)。

我已经尝试过这个:

private void textBoxIncidentLogTypes_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Space)
{
textBoxIncidentLogTypes.CaretIndex = textBoxIncidentLogTypes.Text.Length;
}
}

但是,虽然这个“有效”,但在空格键破坏了短语的最佳部分后,它会被触发。在将按键输入 TextBox 之前,有什么方法可以捕获按键吗?

最佳答案

尝试处理 PreviewKeyDown事件代替;它应该发生在 TextBox 有机会处理 key 之前。

根据您是否希望 TextBox 也处理空格键(即在移动插入符号后插入空格),您可以设置 e.Handled在 PreviewKeyDown 中设置为 true(不再进行任何处理)或 false(让 TextBox 也处理空格键)。

关于.net - 覆盖文本框中的默认按键行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2109295/

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