首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我打印了包含多个“\”的文本,但是"\S“变成了"1”

我打印了包含多个“\”的文本,但是"\S“变成了"1”
EN

Stack Overflow用户
提问于 2015-05-15 17:32:55
回答 2查看 107关注 0票数 4

所以我的表单上有一个C1TrueDBGrid (这是一个ComponentOne控件),我给了用户打印网格内容的选项。

打印时,我包括一个带有一些文本的标题。这是我的打印代码:

代码语言:javascript
复制
    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包含目录的路径,其中包括反斜杠\。实际打印的内容将\S的实例转换为1。

例如: txtDirectory.Text =\Server02 02\Users\Me\J\Star

打印= \1erver02\Users\Me\J1tar的页面

"\S“是"1”之类的打印机命令吗?如果是这样的话,有没有列出所有这些命令的列表呢?不管怎样,我怎样才能让它打印出实际的文本?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-15 18:54:35

更新已经发布到这个ComponentOne论坛线程

因此,我所做的就是简单地将要打印的字符串赋值给变量printText,然后相应地替换这些特殊字符:

代码语言:javascript
复制
    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“还没有像others...they正在调查的那样工作。

谢谢@DonBoitnott的原始链接!

票数 0
EN

Stack Overflow用户

发布于 2015-05-18 11:39:00

您正在将文本设置为PageHeader,而根据ComponentOne\S是一个特殊字符,它返回示例中的子页面总数或"1“。您需要双转义该页列表中的任何字符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30265501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档