e.Graphics.DrawString 怎么调整字方向呢?

解决方案 »

  1.   

     
             // 竖排
              StringFormat StrF = new StringFormat();
              StrF.FormatFlags = StringFormatFlags.DirectionVertical;
              e.Graphics.DrawString("asdfghjkl", new Font("宋体", 10), mypen.Brush, new Point(10, 10), StrF);
      

  2.   

    System.Drawing.StringFormatFlags.DirectionRightToLeft;//红色自选
      

  3.   

    还有,Graphics有很多带Transform的方法有一个旋转的,这样可以旋转坐标,画出各种角度
      

  4.   


      Transform  你好 能说下这个怎么用吗?
      

  5.   

    我参考这个帖子的内容,弄了下我的选项卡标题(标题在右边,默认文字是转了方向的,看着累)文字,弄成这样的:


    1选

    2这样看着舒服多了。
    方法分享一下:
    首先:选项卡控件的DrawMode改为OwnerDrawFixed,然后才能触发下面的事件。
    private void tabControls1_DrawItem(object sender, DrawItemEventArgs e)
            {
                Graphics g = e.Graphics;
                Font font;
                Brush bs ;
                Rectangle rct = e.Bounds;
                if ((e.State == DrawItemState.Selected))
                {
                    bs=  new SolidBrush(e.BackColor);
                    rct.X += 3;
                }
                else
                {
                    bs= new SolidBrush(e.ForeColor);
                    rct.X -=1;
                }
                StringFormat StrF = new StringFormat();
                StrF.FormatFlags = StringFormatFlags.DirectionVertical; // 竖排
                g.DrawString(tabOrders.TabPages[e.Index].Text,e.Font,bs,new Point(rct.X,rct.Y),StrF);
            }完成。