设置一个Label控件上文字的字体样式和字体大小随机的代码.

原创 2004年07月11日 13:33:00

在CSDN上有人问如何设置一个Label控件上文字的字体样式和字体大小随机的代码,觉得比较有意思,
    http://community.csdn.net/Expert/topic/3162/3162272.xml?temp=.8220941
随便写了一个,难点在于MSDN上有一段话:
由于 Font 对象是不可变的(意思是说,无法调整它的任何属性),只能给 Font 属性分配一个新 Font 对象。但是,可以使新的字体基于现有字体。其次要使用定时器和随机数。
Code

--------------------------------------------------------------------------------

using System;
using System.IO;
using System.Drawing;
using System.Timers;
using System.Windows.Forms;
namespace SKY.RandLabel
{
 class App
 {
  public static void Main(String[] args)
  {
   MainForm form = new MainForm();
   Application.Run(form);
  }
 }
 class MainForm : Form
 {
  public Random rnd = null;
     private Label lb1 = null;
     private Label lb2 = null;
  public MainForm()
  {
   //for test
   string s1 ="";
   string s2 ="";
   string s3 ="由于 Font 对象是不可变的(意思是说,无法调整它的任何属性),只能给 Font 属性分配一个新 Font 对象。但是,可以使新的字体基于现有字体。";
            rnd = new Random();
   foreach(string s in Enum.GetNames(typeof(FontStyle)))
   s1+="  "+s;
   foreach(int i in Enum.GetValues(typeof(FontStyle)))
   s2+="  "+System.Convert.ToString(i);
      lb1 = new Label();
   lb2 = new Label();
   lb1.BorderStyle = BorderStyle.FixedSingle;
   lb1.AutoSize = false;
   lb2.Dock = DockStyle.Bottom;
   lb1.Dock = DockStyle.Fill;
   lb1.Font = new Font(lb1.Font, lb1.Font.Style | FontStyle.Bold);
   lb2.AutoSize = true;
   
   lb1.Text  = s3;
   lb2.Text = s1;
   //安装timer
   System.Timers.Timer timer = new System.Timers.Timer(2000);
      timer.Elapsed+=new ElapsedEventHandler(OnTimedEvent);
      timer.AutoReset = true;
      timer.Enabled = true;

   Controls.AddRange(new Control[] {lb1,lb2});
  }
  public void SetLabelP()
  {
            FontStyle[] styles = (FontStyle[]) Enum.GetValues(typeof(FontStyle));
            int index = rnd.Next(0,styles.Length);
            //清除原来得Font属性
            lb1.Font = new Font(lb1.Font, styles[index]);
  }
  public void OnTimedEvent(object source, ElapsedEventArgs e)
  {
   SetLabelP();
  }
 }
}

-----------------------------------------------------------------------

屏幕快照:

设置一个Label控件上文字的字体样式和字体大小随机的代码

在CSDN上有人问如何设置一个Label控件上文字的字体样式和字体大小随机的代码,觉得比较有意思,    http://community.csdn.net/Expert/topic/3162/316...
  • SkyGG
  • SkyGG
  • 2004年08月04日 12:27
  • 1917

flex中设置字体样式

下面就把flex设置字体的方法大体列举几种,以供参考。   1.       引用外部字体库的方法: 双击代码全选 1 2 3 4 ...
  • xingfeng0501
  • xingfeng0501
  • 2012年04月18日 19:14
  • 3527

duilib如何设置字体大小

对于在duilib中设置控件的字体需要以下两个步骤: //1、定义字体 id 索引从0开始 必须设置,否则采用默认字体 ...
  • jangdong
  • jangdong
  • 2015年12月03日 22:51
  • 5011

iOS开发~设置label上文字显示不同大小、颜色、字体类型

设置前效果如下: 加入以下代码加以改变 // 创建Attributed NSMutableAttributedString *noteStr = [[NSMutableA...
  • lizhilin_vip
  • lizhilin_vip
  • 2016年05月26日 11:53
  • 4831

Qt qlabel 设置字体、大小、加粗等

QFont font ( “Microsoft YaHei”, 10, 75); //第一个属性是字体(微软雅黑),第二个是大小,第三个是加粗(权重是75) ui->label->...
  • superbfly
  • superbfly
  • 2016年11月17日 14:39
  • 13336

自定义的Label,可以设置同一Label字体的大小不同,颜色不一

在iOS开发中,我们搭建UI的时候常常会看到这样的设计,一小段文字,但字体大小、颜色却是不同的,本来一个UILabel就搞定的问题,却要多写好几行代码,我遇到很多这种设计,为了解决这个麻烦的东西就自己...
  • xiaowu_cc
  • xiaowu_cc
  • 2016年11月24日 10:59
  • 1018

Swift UILabel 文字大小随着宽度调整

Swift UILabel的宽度一般都是固定的,但是文字有时候长有时候短,如何做到文字在超过Label宽度之后适当缩小使得现实完全 其实,很多简单 我们调用 adjustsFontSizeToFi...
  • lwjok2007
  • lwjok2007
  • 2015年08月31日 19:57
  • 9402

iOS设置Label上显示不同字体大小

例如图片上的样式:四个大号字体 + 括号里面的小字体 NSString *needText = @"患者列表(11)"; [self.topLabel se...
  • iosWorker
  • iosWorker
  • 2016年01月15日 15:54
  • 6779

iOS中关于设置label字体样式

UILable *label =  [[UILabel alloc] init]; 设置字体粗细,需要设置 label.font = [UIFont fontWithName:@"Helvet...
  • bboyzhigang
  • bboyzhigang
  • 2016年01月27日 12:32
  • 4199

【QT】 QLabel设置字体大小和颜色

一、QLabel介绍:    The QLabel widget provides a text or image display. //QLabel部件提供了文本和图片的显示    QLabel i...
  • Hhrock
  • Hhrock
  • 2017年11月28日 17:06
  • 281
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:设置一个Label控件上文字的字体样式和字体大小随机的代码.
举报原因:
原因补充:

(最多只允许输入30个字)