C#   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c# – 如何使用Compact Framework垂直绘制文本大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要直接在 Windows Mobile窗体上直接绘制文本.这是一个Compact Framework 2.0应用程序.我在Windows窗体应用程序中使用以下测试代码,但它不适用于紧凑框架,因为没有DirectionVertical StringFormatFlag.还有另一种方法可以在Windows Mobile上执行相同的操作吗?升级到Compact Framework 3.5没有帮助.它与2.0具有相同的StringFormatFlags.

private void TestDrawVertically()
{
  Font myFont = new Font(FontFamily.GenericSerif,10,FontStyle.bold);
  System.Drawing.brush myBrush = new SolidBrush(Color.black);
  Rectangle myRect = new Rectangle(10,200,200);
  StringFormat myFormat = new StringFormat();
  myFormat.LineAlignment = StringAlignment.Center;
  myFormat.Alignment = StringAlignment.Center;
  myFormat.FormatFlags = StringFormatFlags.DirectionVertical;
  Graphics myGraphic = this.CreateGraphics();

  myGraphic.DrawString("Hello",myFont,myBrush,myRect,myFormat);
}

谢谢.

解决方法

public static Font CreateRotatedFont(String fontname,int height,int angleIndegrees,Graphics g)
{
    LogFont logf = new LogFont();
    logf.Height = -1 * height;
    logf.Facename = fontname;
    logf.Escapement = angleIndegrees * 10;
    logf.orientation = logf.Escapement;
    logf.CharSet = LogFontCharSet.Default;
    logf.outPrecision = LogFontPrecision.Default;
    logf.ClipPrecision = LogFontClipPrecision.Default;
    logf.Quality = LogFontQuality.ClearType;
    logf.PitchAndFamily = LogFontPitchAndFamily.Default;
    return Font.FromLogFont(logf);
}

然后像这样使用它:

Graphics myGraphic = this.CreateGraphics();
Font myFont = CreateRotatedFont("Tahoma",32,90,myGraphic);
myGraphic.DrawString("Hello",myFormat);

大佬总结

以上是大佬教程为你收集整理的c# – 如何使用Compact Framework垂直绘制文本全部内容,希望文章能够帮你解决c# – 如何使用Compact Framework垂直绘制文本所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。