一辉公司:
我局需对贵公司2011年7月11日申报进口/出口的快件一批(总件数:3500件、报检号:1/8000、车牌号码: 粤ZHM72港)进行现场检验检疫,请将下列货物交由我局处理。对于上面的三行语句,一辉、2011、7、11、3500、1/8000、粤ZHM72港都是有下划线的,并且是红色,其它字体则为黑色。
我用DrawString把它打印出来,方法如下s = dataRow["公司"].ToString() + "公司:\n" +
"   我局需对贵公司" + year + "年" + month + "月" + day + "日" + "申报进口/出口的快件一批(总件数:" + dataRow["总件数"].ToString() +
"\n件、报检号:" + dataRow["报检单号"].ToString() + "、车牌号码:" + dataRow["车牌"].ToString() +
")进行现场检验检疫,请将下列货物\n交由我局处理。";e.Graphics.DrawString(s, new Font(PrintFont.FontFamily, 15, FontStyle.Regular), Brushes.Black, 40, 160);但是打印出来的效果是需要有下划线和红色的个别词句并没有下划线和红色了,小弟不知道怎样可以实现按上面的要求把这段
语句打印出来,请各位大哥帮忙

解决方案 »

  1.   

    e.Graphics.DrawString需要自己画马?
    既然自己绘画,随便画一条下划线很难吗?
      

  2.   

    自己绘制:将一段话,拆开多次绘制,有下划线就用下划线字体,有红色的就用红色字体或者用RichText编辑控件,它本身支持一句话的不同字体和颜色
    或者用Html控件,他同样也是支持
      

  3.   

    "这样的话需要把这段话划分成很大小块",
    为什么要分很多小块,需要加下划线的地方这个你知道吧,
    你e.Graphics.DrawString(s, new Font(PrintFont.FontFamily, 15, FontStyle.Regular), Brushes.Black, 40, 160);
    后,计算画线的起始、终止点,然后调用Graphics.DrawLine 方法 
      

  4.   

    我觉得换个方法,建个word文件,输入相关的文本格式,程序修改相关需要字符。
      

  5.   

    C#怎么实现打印word里面的内容呢