none
winform 自字义输出文字样式 RRS feed

答案

  • using System.Drawing.Text;
    
     private const string words = "中华人民共和国";
    
            private void Form22_Paint(object sender, PaintEventArgs e)
            {
                Graphics g = e.Graphics;
                //设置与此 System.Drawing.Graphics 关联的文本的呈现模式
                g.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
    
                //设置区域大小
                Rectangle _rect = new Rectangle(10, 10, this.ClientSize.Width - 20, this.ClientSize.Height - 20);
    
                // 设置字体
                Font _font = new Font("隶书", 20,
                    FontStyle.Regular | FontStyle.Italic, GraphicsUnit.Point);
    
                StringFormat _stringFormat = new StringFormat();
    
                //设置垂直面上的文本对齐信息
                _stringFormat.Alignment = StringAlignment.Center;
                _stringFormat.FormatFlags = StringFormatFlags.LineLimit;
                _stringFormat.Trimming = StringTrimming.EllipsisWord;
                _stringFormat.HotkeyPrefix = HotkeyPrefix.Show;
    
                //画字符
                g.DrawString(words, _font, Brushes.Red, _rect, _stringFormat);
                //画一个正方形
                g.DrawRectangle(Pens.Blue, _rect);
    
                //释放对象
                _stringFormat.Dispose();
                _font.Dispose();
    
    
    
            }

    努力+方法=成功
    2010年4月12日 8:59

全部回复

  • using System.Drawing.Text;
    
     private const string words = "中华人民共和国";
    
            private void Form22_Paint(object sender, PaintEventArgs e)
            {
                Graphics g = e.Graphics;
                //设置与此 System.Drawing.Graphics 关联的文本的呈现模式
                g.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
    
                //设置区域大小
                Rectangle _rect = new Rectangle(10, 10, this.ClientSize.Width - 20, this.ClientSize.Height - 20);
    
                // 设置字体
                Font _font = new Font("隶书", 20,
                    FontStyle.Regular | FontStyle.Italic, GraphicsUnit.Point);
    
                StringFormat _stringFormat = new StringFormat();
    
                //设置垂直面上的文本对齐信息
                _stringFormat.Alignment = StringAlignment.Center;
                _stringFormat.FormatFlags = StringFormatFlags.LineLimit;
                _stringFormat.Trimming = StringTrimming.EllipsisWord;
                _stringFormat.HotkeyPrefix = HotkeyPrefix.Show;
    
                //画字符
                g.DrawString(words, _font, Brushes.Red, _rect, _stringFormat);
                //画一个正方形
                g.DrawRectangle(Pens.Blue, _rect);
    
                //释放对象
                _stringFormat.Dispose();
                _font.Dispose();
    
    
    
            }

    努力+方法=成功
    2010年4月12日 8:59
  • 非常感谢。我试试。。
    2010年4月12日 9:18
  • 开心大侠

    文字渐变怎么整。。

    2010年4月12日 9:23
  • using System.Drawing.Drawing2D;

    把 

    //画字符
         g.DrawString(words, _font, Brushes.Red, _rect, _stringFormat);


    替换成下面这段代码

     Brush brush = new LinearGradientBrush(_rect, Color.Red, Color.Green, LinearGradientMode.Horizontal);

                //画字符
                g.DrawString(words, _font, brush, _rect, _stringFormat);


    努力+方法=成功
    2010年4月12日 9:40