我想我不知道要使用哪些搜索字词,这应该很简单...我要确定字符串的宽度(以英寸为单位)。
Dim sSize As System.Drawing.SizeF
Dim fFont As New Font("Arial", 12)
sSize = Me.CreateGraphics().MeasureString(txtAddr.Text, fFont)
这里的单位是IDE使用的任何单位。我不确定这是一个常数值,如果转换应该是直截了当的。
无论如何,当我使用指定的字体以100%打印文本时,我想将返回的单位转换为英寸。我该怎么做?
谢谢汉斯!
Dim boxGraphics As Graphics = txtAddr.CreateGraphics()
Dim sSize As System.Drawing.SizeF = boxGraphics.MeasureString(txtAddr.Text, New Font("Arial", 12))
Dim iInches As Single = sSize.Width / boxGraphics.DpiX
DYMO LabelWriter 450代码的开头,可能会引起您的兴趣:
' project ref to DYMO.Label.Framework .net 3.5/4
' Imports DYMO.Label.Framework
Dim olabel As Label
olabel = Label.Open("H:\INFO\Forms\ADMIN\Dymo Labels\APCDAddress.label")
olabel.SetObjectText("ADDRESS", txtAddr.Text) ' case sensitive
olabel.Print("\\PC3090-117\DYMO LabelWriter 450 Twin Turbo")
MsgBox("Printed")
我将添加代码来处理可能对标签来说太大的地址文本,因此OP。可以将DYMO布局设置为缩小以适合文本,但在制作地址标签时具有实际限制。
答案 0 :(得分:3)
来自@HansPassant:除以Graphics.DpiX
Dim boxGraphics As Graphics = txtAddr.CreateGraphics()
Dim sSize As System.Drawing.SizeF = boxGraphics.MeasureString(txtAddr.Text, New Font("Arial", 12))
Dim iInches As Single = sSize.Width / boxGraphics.DpiX