Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.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
在VB.net中获取字体宽度而不测量控件?_Vb.net_Fonts_Fixed Width - Fatal编程技术网

在VB.net中获取字体宽度而不测量控件?

在VB.net中获取字体宽度而不测量控件?,vb.net,fonts,fixed-width,Vb.net,Fonts,Fixed Width,我需要在窗体窗口中以富文本显示一个表。它只是一个两列的表,所以选项卡可以很好地排列所有内容(因为RichTextBox不支持RTF表)。但是,由于字体宽度不固定,有时制表位不正确 因此,我需要一种方法来测量特定字符串的像素宽度,使用特定字体(Arial 10)和空格或制表符,以确保所有内容对齐 我知道Graphics.MeaureString方法,但由于它位于富文本框中,因此我没有初始化的PaintEventArgs变量,而仅仅为了测量一个字符串而创建该变量似乎有些过分 发件人: 那么,最好只创

我需要在窗体窗口中以富文本显示一个表。它只是一个两列的表,所以选项卡可以很好地排列所有内容(因为RichTextBox不支持RTF表)。但是,由于字体宽度不固定,有时制表位不正确

因此,我需要一种方法来测量特定字符串的像素宽度,使用特定字体(Arial 10)和空格或制表符,以确保所有内容对齐

我知道Graphics.MeaureString方法,但由于它位于富文本框中,因此我没有初始化的PaintEventArgs变量,而仅仅为了测量一个字符串而创建该变量似乎有些过分

发件人:

那么,最好只创建一个伪PaintEventArgs实例吗?如果是这样的话,那么最好的方法是什么(因为我不得不多次调用这个字符串测量方法)

另外,我真的不想使用固定宽度的字体——它们看起来不太好

用这个

Dim g as Graphics = richbox.CreateGraphics()
Dim sz as SizeF = g.MeasureString(...)
Dim g as Graphics = richbox.CreateGraphics()
Dim sz as SizeF = g.MeasureString(...)