我打印了包含多个“\”但“\S”变成了“1”的文本
I printed text that contains multiple "\"'s but "\S" turned into a "1"
所以我的窗体上有一个 C1TrueDBGrid(它是一个 ComponentOne 控件),我让用户可以选择打印网格的内容。
打印时,我在 header 中添加了一些文字。这是我的打印代码:
Dim dlgPrint As New PrintDialog
dlgPrint.ShowDialog()
dgvList.PrintInfo.PrintEmptyGrid = False
dgvList.PrintInfo.PageHeader = txtDirectory.Text & Environment.NewLine & "Search Term: " & txtSearch.Text & Environment.NewLine
dgvList.PrintInfo.PageSettings.Landscape = True
dgvList.PrintInfo.WrapText = C1.Win.C1TrueDBGrid.PrintInfo.WrapTextEnum.Wrap
dgvList.PrintInfo.RepeatColumnHeaders = True
dgvList.PrintInfo.Print(dlgPrint.PrinterSettings)
dlgPrint.Dispose()
txtDirectory.Text 正如我相信您可以想象的那样包含目录的路径,其中包括 back-slashes \ 。实际打印的内容将 \S 的实例变成了 1.
例如:txtDirectory.Text = \\Server02\Users\Me\J\Star
打印的页面 = erver02\Users\Me\J1tar
“\S”是“1”之类的打印机命令吗?如果是这样的话,是否有所有此类命令的列表?无论哪种方式,如何让它打印实际文本?
谢谢!
您将该文本设置为 PageHeader,according to ComponentOne、\S
是一个特殊字符,表示 returns 子页面总数,或者您的“1”例子。您将需要对该页面的列表中的任何字符进行两次转义。
更新已发布到 this ComponentOne forum thread。
所以我所做的就是简单地将我想要打印的字符串分配给一个变量printText
,然后相应地替换那些特殊字符:
printText.Replace("\t", "\t")
printText.Replace("\p", "\p")
printText.Replace("\P", "\P")
printText.Replace("\g", "\g")
printText.Replace("\G", "\G")
printText.Replace("\s", "\s")
printText.Replace("\S", "\S")
请注意,“\\t”还没有像其他的那样工作...他们正在研究它。
感谢@DonBoitnott 的原创 link!
所以我的窗体上有一个 C1TrueDBGrid(它是一个 ComponentOne 控件),我让用户可以选择打印网格的内容。
打印时,我在 header 中添加了一些文字。这是我的打印代码:
Dim dlgPrint As New PrintDialog
dlgPrint.ShowDialog()
dgvList.PrintInfo.PrintEmptyGrid = False
dgvList.PrintInfo.PageHeader = txtDirectory.Text & Environment.NewLine & "Search Term: " & txtSearch.Text & Environment.NewLine
dgvList.PrintInfo.PageSettings.Landscape = True
dgvList.PrintInfo.WrapText = C1.Win.C1TrueDBGrid.PrintInfo.WrapTextEnum.Wrap
dgvList.PrintInfo.RepeatColumnHeaders = True
dgvList.PrintInfo.Print(dlgPrint.PrinterSettings)
dlgPrint.Dispose()
txtDirectory.Text 正如我相信您可以想象的那样包含目录的路径,其中包括 back-slashes \ 。实际打印的内容将 \S 的实例变成了 1.
例如:txtDirectory.Text = \\Server02\Users\Me\J\Star
打印的页面 = erver02\Users\Me\J1tar
“\S”是“1”之类的打印机命令吗?如果是这样的话,是否有所有此类命令的列表?无论哪种方式,如何让它打印实际文本?
谢谢!
您将该文本设置为 PageHeader,according to ComponentOne、\S
是一个特殊字符,表示 returns 子页面总数,或者您的“1”例子。您将需要对该页面的列表中的任何字符进行两次转义。
更新已发布到 this ComponentOne forum thread。
所以我所做的就是简单地将我想要打印的字符串分配给一个变量printText
,然后相应地替换那些特殊字符:
printText.Replace("\t", "\t")
printText.Replace("\p", "\p")
printText.Replace("\P", "\P")
printText.Replace("\g", "\g")
printText.Replace("\G", "\G")
printText.Replace("\s", "\s")
printText.Replace("\S", "\S")
请注意,“\\t”还没有像其他的那样工作...他们正在研究它。
感谢@DonBoitnott 的原创 link!