首页 | IT新闻 | 硬件 | 操作系统 | 开发 | 网络编程 | 数据库 | 热门框架 | 网络安全 | 组网 | 建站指南 | 网页制作 | 特效 | 实用技巧 | 服务器 | 办公 | QQ | 探索 | 社区

  • 技术部落
  • 部落首页 > 程序开发 > C/C#/C++ > 正文
  • 如何用C#显示竖排文字
      2007-3-20  来源:网络资源  编辑:Jsbulo  热度:

    看这个题目,应该觉的这个问题不难,刚开始我也是这么想,可是目前我手头上的参考资料上没有一个介绍竖直显示文字的,上网查资料只发现一个有用的,可是实现起来比较麻烦,需要进行坐标转换,旋转,还得平移,没办法,为了实现下图Y方向坐标的标注,只好这样了,代码如下:

    //设置旋转中心点
    pb_Graphics.TranslateTransform(panelRuleY.Width / 2, panelRuleY.Height / 2);
    //设置旋转角度
    pb_Graphics.RotateTransform(90);
    //平移
    pb_Graphics.TranslateTransform(i - 19 - panelRuleY.Height / 2 + 22 - (20-panelWork.Top), -3);
    //画文字
    pb_Graphics.DrawString(((int)(i - 19)).ToString(), font, new SolidBrush(Color.Black), 0, 0);
    //恢复为默认场景
    pb_Graphics.ResetTransform();

    本来事情有可能就这样结束了,不过,今天在书店里溜达,随手看到了更为直接的实现竖排文字的方法,于是赶紧买下书,回家按其方法实现了竖排文字,最新代码如下(仅一句代码):

    pb_Graphics.DrawString(((int)(i - 19)).ToString(), font, new SolidBrush(Color.Black), -2, i -(20 - panelWork.Top)+2, new StringFormat(StringFormatFlags.DirectionVertical));

    注意:精简框架集不支持,我就是在精简框架集下试这个代码,所以没有查到该方法!