我正在尝试使用VB自己控制.NET,并且我在实现我想要做的事情时遇到了问题。事实上,我正在制作一个继承自textbox类的控件,我试图给它带来的唯一修改是,如果控件明显已满,则用户无法再输入。所以:
现在,我正在使用的技术是graphics.olutionstring来获取包含字符串宽度和高度的sizeF,以将其与文本框控件的高度和宽度进行比较。这一切都在KeyDown事件中(我不知道它是最好的解决方案)。我可以让它在宽度上正常工作,但我似乎无法在多行文本框中找到正确的高度。如果有人曾经使用过这些东西,我需要解释它应该如何完成。谢谢。
答案 0 :(得分:0)
问题是你的第三个要求:
The extended TextBox may have different fonts and font sizes.
这意味着你必须弄清楚每一行的高度,行中哪些字符具有最大的字体大小,并且要知道,你还必须知道每行中有哪些字符。它变得更糟,因为(令人惊讶的是)在给定相同点大小的情况下,不同的字体可以具有不同的高度。如果不是因为按比例间隔的字体中的每个字符都是不同的宽度,这一切都可能是可行的。
如果您打算支持上标和下标......