第二章例题:DateAndTimeStatus

对应教材2.2.2的(4)部分
using System;
using System.Drawing;
using System.Windows.Forms;

public class DateAndTimeStatus:Form
{
    StatusBarPanel sbpMenu,sbpDate,sbpTime;
    
public static void Main()
    
{
        Application.Run(
new DateAndTimeStatus());
    }

    
public DateAndTimeStatus()
    
{
        
//设置窗体属性,这些属性属于基类Form
        Text = "Date and Time Status";
        BackColor 
= SystemColors.Window;
        ForeColor 
= SystemColors.WindowText;

        
//动态创建StstusBar控件
        StatusBar sb = new StatusBar();
        sb.Parent 
= this;
        sb.ShowPanels 
= true;

        
//动态创建StatusBarPanel控件
        sbpMenu = new StatusBarPanel();
        sbpMenu.Text 
= "Reserved for menu help";
        sbpMenu.BorderStyle 
= StatusBarPanelBorderStyle.None;
        sbpMenu.AutoSize 
= StatusBarPanelAutoSize.Spring;

        sbpDate 
= new StatusBarPanel();
        sbpDate.AutoSize 
= StatusBarPanelAutoSize.Contents;
        sbpDate.ToolTipText 
= "The Current date";

        sbpTime 
= new StatusBarPanel();
        sbpTime.AutoSize 
= StatusBarPanelAutoSize.Contents;
        sbpTime.ToolTipText 
= "The Current time";

        
//将StatusBarPanel控件实例添加到StstusBar控件的Panels集合
        sb.Panels.AddRange(new StatusBarPanel[]{sbpMenu,sbpDate,sbpTime});

        
//创建计时器控件并加载事件处理函数
        Timer timer = new Timer();
        timer.Tick 
+= new EventHandler(TimerOnTick);
        timer.Interval 
= 1000;
        timer.Start();
    }


    
//计时器控件事件处理函数
    void TimerOnTick(object obj,EventArgs ea)
    
{
        
//获取当前时间,日期
        DateTime dt = DateTime.Now;

        
//在StatusBarPanel上设置当前日期,时间
        sbpDate.Text = dt.ToShortDateString();
        sbpTime.Text 
= dt.ToShortTimeString();
    }

}


完整源代码下载:DateAndTimeStatus.rar
posted @ 2007-03-01 19:44  dn  阅读(199)  评论(0编辑  收藏  举报