如何在UserControl/ScrollableControl中接受文本输入

本文关键字:文本 输入 ScrollableControl UserControl | 更新日期: 2023-09-27 18:25:45

我创建了一个类似画布的控件,用于绘制图像、形状和文本。现在,文本只能通过编程方式添加到图形表面。但我想实现一种更像所见即所得的文本输入方法。因此,基本思想是在我的ScrollableControl实现中捕获击键。

这似乎是一项琐碎的任务——只需覆盖OnKeyDown方法,对吧?不完全是:(这基本上意味着我必须手动处理所有可能的SHIFT或ALT组合键(对于非英语字母)。

所以问题是:有没有一种简单的方法可以做到这一点?注意,不仅需要文本输入,还需要退格、回车、光标移动等等。我觉得我遗漏了一些东西,通过OnKeyDown手动输入处理并不是最好的解决方案。

如何在UserControl/ScrollableControl中接受文本输入

根据您希望文本输入的工作方式,您可能可以通过在控件中添加一个无边框文本框并在用户开始键入时对其进行聚焦来实现。