文本输出中的练习

原创 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.

文本输出

C语言的窗口程序中,常用的文本输出函数有:DrawText,TextOut         1.DrawText有两个版本,Asscll、Unicode,函数定义如下: WINUSERAPI in...
  • cug_heshun
  • cug_heshun
  • 2013年11月20日 22:11
  • 970

Oracle 数据科学计数法输出问题

若输出数字已科学计数法输出,则可以用to_char去解决select to_char('65647.2657696732665873677469045687295023',999990.9999999...
  • kida_yuan
  • kida_yuan
  • 2016年02月02日 09:08
  • 149

API文本输出

#include#include#includelong WINAPI WndProc(HWND hWnd,UINT iMessage,UINT wParam,long lParam);BOOL In...
  • binyanye1
  • binyanye1
  • 2010年09月06日 01:05
  • 852

Chapter04 文本输出

今天,我们将一起学习“文本输出”章节,根据标题,
  • rslboy
  • rslboy
  • 2014年04月13日 23:38
  • 729

Java_基础—File类练习

需求:从键盘输入接收一个文件夹路径,打印出该文件夹下所有的.java文件名
  • SoarFly0807
  • SoarFly0807
  • 2017年07月26日 21:33
  • 272

如何在 jsp 上输出数据库中保存的文本

如何在 jsp 上输出数据库中保存的文本 胡立新 假设在数据库中保存了这段文本:   如何在 jsp 上输出这段文本,很多人会想首先查询出这个文本保存到 bean 中,再将这个 bean 保存到 se...
  • nlhlx
  • nlhlx
  • 2007年03月20日 18:08
  • 2350

MFC/VC++中的文本输出

文本输出 1:在指定区域输出文本 1:使用TextOut(int x,int y,const CString& str);方法 2:使用DrawText(const CString&st...
  • jin123wang
  • jin123wang
  • 2011年05月13日 11:41
  • 3220

简单文本输出

// HelloWnd.cpp : 定义应用程序的入口点。 // #include "stdafx.h" #include "HelloWnd.h" /* // 注意定义的结构方式 struct...
  • shuangyan5230
  • shuangyan5230
  • 2012年12月14日 12:11
  • 298

[Win32]重绘的基本概念以及简单的文本输出文本输出

1. 客户区的完整概念: 即
  • Lirx_Tech
  • Lirx_Tech
  • 2014年10月13日 11:42
  • 2006

练习Linux中的vi编辑器

作业题目:         下面方框中的画面,是你在 vim 编辑器中,正在编辑的一份文件的 内容。每一行的末尾都有一个看不见的换行符。这个文件共有 10 行。左侧的行号,仅做指示,并不是文件内容。...
  • Jijiahao95
  • Jijiahao95
  • 2016年10月14日 22:14
  • 397
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: 文本输出中的练习
举报原因:
原因补充:

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