文本输出中的练习

原创 2005年04月25日 16:24:00

SystemInformation类属性中包含了许多系统信息.

using System;
using   System.Drawing ;
using  System.Windows.Forms ;
namespace WindowsProgram
{  public class SysInfoString
 {
  public SysInfoString()
  {
  }
  public  static string []  lables
  {  get
   {  return new  string[]
    {"ArrangeStartingPosition",  "ArrangeStartingPosition",    "BootMode",
     "Border3DSize", "BorderSize",
     "CaptionButtonSize",
     "CaptionHeight",
     "ComputerName",
     "CursorSize",
     "DbcsEnabled",
     "DebugOS",
     "DoubleClickSize",
     "DoubleClickTime",
     "DragFullWindows",
     "DragSize",
     "FixedFrameBorderSize",
     "FrameBorderSize",
     "HighContrast",
     "HorizontalScrollBarArrowWidth",
     "HorizontalScrollBarHeight",
     "HorizontalScrollBarThumbWidth",
     "IconSize",
     "IconSpacingSize",
     "KanjiWindowHeight",
     "MaxWindowTrackSize",
     "MenuButtonSize",
     "MenuCheckSize",
     "MenuHeight",
     "MidEastEnabled",
     "MinimumWindowSize"      }; }  }
  public static  float MaxLableWidth(Graphics grfx,Font font)
  {
    return MaxWidth(lables,grfx,font);
  }
  public static int Count
  {get
   {return lables.Length; }
  }
  static float MaxWidth(string[]  astr,Graphics grfx,Font  font)
  {float fMax=0;
   foreach(string  str in  astr)
     fMax=Math.Max(fMax,grfx.MeasureString(str,font).Width);
   return  fMax;
  }
  public static string[] values
  {
   get
   {
    return new  string[]
    {  SystemInformation.ArrangeStartingPosition.ToString(),
       SystemInformation.ArrangeStartingPosition.ToString(),
     SystemInformation.BootMode.ToString(),
     SystemInformation.Border3DSize.ToString(),
     SystemInformation.BorderSize.ToString(),
     SystemInformation.CaptionButtonSize.ToString(),
     SystemInformation.CaptionHeight.ToString(),
     SystemInformation.ComputerName.ToString(),
     SystemInformation.CursorSize.ToString(),
     SystemInformation.DbcsEnabled.ToString(),
     SystemInformation.DebugOS.ToString(),
     SystemInformation.DoubleClickSize.ToString(),
     SystemInformation.DoubleClickTime.ToString(),
     SystemInformation.DragFullWindows.ToString(),
     SystemInformation.DragSize.ToString(),
     SystemInformation.FixedFrameBorderSize.ToString(),
     SystemInformation.FrameBorderSize.ToString(),
     SystemInformation.HighContrast.ToString(),
     SystemInformation.HorizontalScrollBarArrowWidth.ToString(),
     SystemInformation.HorizontalScrollBarHeight.ToString(),
     SystemInformation.HorizontalScrollBarThumbWidth.ToString(),
     SystemInformation.IconSize.ToString(),
     SystemInformation.IconSpacingSize.ToString(),
     SystemInformation.KanjiWindowHeight.ToString(),
     SystemInformation.MaxWindowTrackSize.ToString(),
     SystemInformation.MenuButtonSize.ToString(),
     SystemInformation.MenuCheckSize.ToString(),
     SystemInformation.MenuHeight.ToString(),
     SystemInformation.MidEastEnabled.ToString(),
     SystemInformation.MinimumWindowSize.ToString()     
    };  }  } }}

using System;
using   System.Drawing ;
using  System.Windows.Forms ;
namespace WindowsProgram
{
 class SystemInforList:Form
 {
     readonly  float  cxCol;
     readonly  int  cySpace;
  [STAThread]
  static void Main(string[] args)
  {
   Application.Run(new SystemInforList());
  }
  public  SystemInforList()
  {  Text="System  Information  List";
           BackColor=SystemColors.Window ;
     ForeColor=SystemColors.WindowText;
     Graphics  grfx=CreateGraphics();
     SizeF  sizef=grfx.MeasureString(" ",Font);
     cxCol=sizef.Width +SysInfoString.MaxLableWidth(grfx,Font);
     grfx.Dispose();
     cySpace=Font.Height ;//每行间隔象素
     
  }
  protected override void OnPaint(PaintEventArgs e)
  {
   Graphics grs=e.Graphics ;
   Brush brush=new SolidBrush(ForeColor);
   int iCount=SysInfoString.Count;
   string[]  astrLable=SysInfoString.lables;
   string[]  astrValues=SysInfoString.values;
   for(int i=0;i<iCount;i++)
   {
    grs.DrawString(astrLable[i],Font,brush,0,i*cySpace);
    grs.DrawString(astrValues[i],Font,brush,cxCol,i*cySpace); } 
  } }
}
如上所示,通过从Control继承来的CreateGraphics 方法得到有关本控件显示的的Graphics 对象.这和Delphi

有所不同,Delphi许多控件都有Canvas.

Jstl自定义标签及其生命周期、属性标签、及其读取文本练习、JspFragment输出标签体(2)

什么是自定义标签? SimlpeTagSuPPort类的生命周期: 1.当jsp容器遇到自定义标签时。jsp容器会调用标签处理类的默认构造方法来建立一个标签处理类的实例。必须为每个标签都创建一个新...

输出输入文本的每个单词长度

  • 2017年04月21日 10:49
  • 4KB
  • 下载

26-网络编程-14-网络编程(TCP协议-练习-文本转换服务端)

/* * 转换服务端分析: * * 1.需要ServerSocket服务 * * 2.获取Socket对象,为了获取客户端发来的数据 * * 3.源: Socket,读取客户端发来...
  • wy_0928
  • wy_0928
  • 2015年08月11日 17:26
  • 154

动态文本输出

  • 2015年05月20日 19:45
  • 62KB
  • 下载

不同的快捷键输出一串文本信息

  • 2013年11月03日 16:47
  • 6.09MB
  • 下载

TensorFlow练习27: 验证码生成器-从文本生成图像

前文TensorFlow练习20: 使用深度学习破解字符验证码>是一个基于CNN的识别验证码练习,也就是根据图像预测文本。本帖就来个大反转,即从文本合成图像,看看能不能用深度学习练一个验证码生成器...
  • c2a2o2
  • c2a2o2
  • 2017年04月02日 18:17
  • 575

MFC图形和文本输出

  • 2013年05月01日 19:20
  • 408KB
  • 下载

win32强化练习2.1_简单加法计算器(界面文本与数据的读取和显示)

只有进行过充分的练习,才能够真正掌握一门技能!通过进行或单项或综合的知识点强化训练,巩固和提高自己的windows程序设计的技能水平!...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: 文本输出中的练习
举报原因:
原因补充:

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