【发布时间】:2012-03-29 02:36:59
【问题描述】:
我需要一个模仿 TextBox 控件但不是控件,而是自定义绘制的组件或元素的类。
创建一个就像重新发明轮子一样,因为我到处都能看到它们。例如,在任何现代 Web 浏览器中,文本框都不是控件。大多数 Winforms 控件,尤其是 ToolStrip 控件,例如 ToolStripTextBox,都具有类似于文本框的元素(但不是控件)。
我认为微软不会为他们制作的每个控件重新发明轮子。但很可能他们的代码是专有的而不是公开的。
有人知道这方面的开源解决方案吗?我对 GDI+ 绘图很有经验,但是当您考虑插入符号定位、选择和插入文本时,文本字段并不是一项简单的任务。
任何关于如何自己编写代码的指针都将不胜感激,例如如何计算给定点的字符。我应该为每个可能字符的测量宽度创建一个查找表吗?还是循环遍历 MeasureString 以考虑格式化空间?
【问题讨论】:
标签: c# winforms text components gdi+