所以我准备调用一个使用RichTextBox
绘制e.Graphics.DrawString()
内容的函数,该部分工作正常。但是,如果超过一定长度,我不希望绘制字符串。我将字符串存储在Master_Longest_String
。
我想到的一种方法是使用e.Graphics.MeasureString()
。你传递字符串和它所在的字体,它给我的长度。然后我将长度与其他一些变量进行比较,并确定是否要绘制它。
我的问题是,我不知道如何调用MeasureStr
函数?
我做到了:
Private Sub Results()
Msgbox(MeasureStr())
End Sub
Private Function MeasureStr(ByVal e As PaintEventArgs) As SizeF
Dim stringSize As New SizeF
stringSize = e.Graphics.MeasureString(Master_Longest_String, Print_Font).width
Return stringsize
End Function
但是,当我的子调用MeasureStr()
时,它需要一个参数(e)
,但我不确定要传递给它的是什么?
答案 0 :(得分:0)
Dim sI As SizeF
Using g As Graphics = Graphics.FromHwnd(IntPtr.Zero)
sI = g.MeasureString("yourtexthere", yourfonthere)
End Using
Return sI
将它放在你的函数中并从方法中删除paint参数......现在你不必担心paint参数或任何控制来获得长度......