【发布时间】:2012-02-24 14:20:52
【问题描述】:
我创建了一个类似于画布的控件,用于绘制图像、形状和文本。现在只能以编程方式将文本添加到绘图表面。但我想实现一个更像所见即所得的文本输入法。所以基本的想法是在我的 ScrollableControl 实现中捕获击键。
这似乎是一项微不足道的任务 - 只需覆盖 OnKeyDown 方法,对吗?不完全 :( 这基本上意味着我必须手动处理所有可能的组合键与 SHIFT 或 ALT(对于非英文字母)。
所以问题是:有没有简单的方法可以做到这一点?请注意,不仅需要文本输入,还需要退格、回车、光标移动和所有这些东西。我觉得我遗漏了一些东西,通过OnKeyDown 手动输入处理并不是最好的解决方案。
【问题讨论】:
-
否;这似乎是一项非常艰巨的任务。我不知道你为什么认为那是微不足道的。
-
@SLaks,通常困难的任务似乎很困难,直到你知道正确的方法:)
-
正确的做法非常复杂,尤其是当您添加 IME、LTR 和可访问性时。
-
WPF 不是一个选项。我仅限于 .NET 2.0...但出于好奇 - WPF 如何提供帮助?
-
WPF 已经做了你想做的事——重新实现的 Windows 文本服务。 WPF 文本框可以旋转。
标签: c# winforms .net-2.0 textinput