Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 验证多行文本框是否可见已满_.net_Vb.net_Textbox_Multiline - Fatal编程技术网

.net 验证多行文本框是否可见已满

.net 验证多行文本框是否可见已满,.net,vb.net,textbox,multiline,.net,Vb.net,Textbox,Multiline,我正在尝试使用VB在for.NET中创建自己的控件,但在实现我想做的事情时遇到了问题。事实上,我正在创建一个从textbox类继承的控件,我试图对它进行的唯一修改是,如果控件明显已满,用户就不能再键入了。因此: 滚动条不应出现。 扩展文本框可以是多行或单行。 扩展文本框可能有不同的字体和字体大小。 现在,我使用的技术是graphics.measurestring来获取包含字符串的宽度和高度的sizeF,并将其与文本框控件的高度和宽度进行比较。所有这些在按键事件中我不知道这是最好的解决方案。我可以

我正在尝试使用VB在for.NET中创建自己的控件,但在实现我想做的事情时遇到了问题。事实上,我正在创建一个从textbox类继承的控件,我试图对它进行的唯一修改是,如果控件明显已满,用户就不能再键入了。因此:

滚动条不应出现。 扩展文本框可以是多行或单行。 扩展文本框可能有不同的字体和字体大小。
现在,我使用的技术是graphics.measurestring来获取包含字符串的宽度和高度的sizeF,并将其与文本框控件的高度和宽度进行比较。所有这些在按键事件中我不知道这是最好的解决方案。我可以让它在宽度上工作得很好,但我似乎无法在多行文本框中正确设置高度。如果有人曾经使用过这种东西,我需要一些关于如何使用的解释。谢谢。

问题是您的第三个要求:

The extended TextBox may have different fonts and font sizes. 
这意味着,您必须计算出每行的高度,行中的哪些字符具有最大的字体大小,并且要知道这一点,您还必须知道每行中的哪些字符。更糟糕的是,在相同的点大小下,不同的字体会有不同的高度。如果不是因为按比例间隔的字体中的每个字符都有不同的宽度,这一切都可能是可行的

如果你想支持上标和下标