用vb帮我编写一个程序,紧急!可以结合
ClockControl。cs
using System;
using System。Windows。Forms;
using System。Drawing;
using System。Drawing。 Drawing2D;
namespace ClockTime
{
///
/// ClockControl 的摘要说明。
///
public class ClockControl:System。 Windows。Forms。UserControl
{
private DateTime dt;
public ClockControl()
{
//
// TODO: 在此处添加构造函数逻...全部
ClockControl。cs
using System;
using System。Windows。Forms;
using System。Drawing;
using System。Drawing。
Drawing2D;
namespace ClockTime
{
///
/// ClockControl 的摘要说明。
///
public class ClockControl:System。
Windows。Forms。UserControl
{
private DateTime dt;
public ClockControl()
{
//
// TODO: 在此处添加构造函数逻辑
//
this。
ResizeRedraw=true;
this。Enabled=false;
}
public DateTime Time
{
set
{
Graphics grfx=this。
CreateGraphics();
Pen pn=new Pen(this。BackColor);
InitializeCoordinates(grfx);
if(dt。
Hour!=value。Hour)
{
DrawHourHand(grfx,pn);
}
if(dt。Minute!=value。Minute)
{
DrawHourHand(grfx,pn);
DrawMinuteHand(grfx,pn);
}
if(dt。
Second!=value。Second)
{
DrawMinuteHand(grfx,pn);
DrawSecondHand(grfx,pn);
}
if(dt。
Millisecond!=value。Millisecond)
{
DrawSecondHand(grfx,pn);
}
dt=value;
pn=new Pen(ForeColor);
DrawHourHand(grfx,pn);
DrawMinuteHand(grfx,pn);
DrawSecondHand(grfx,pn);
grfx。
Dispose();
}
get
{return dt;
}
}
protected override void OnPaint(PaintEventArgs e)
{
Graphics grfx=e。
Graphics;
Pen pn=new Pen(ForeColor);
SolidBrush br=new SolidBrush(ForeColor);
InitializeCoordinates(grfx);
DrawDots(grfx,br);
DrawHourHand(grfx,pn);
DrawSecondHand(grfx,pn);
DrawMinuteHand(grfx,pn);
}
protected virtual void InitializeCoordinates(Graphics grfx)
{
if(this。
Width==0 || this。Height==0) return;
grfx。TranslateTransform(this。Width/2,this。Height/2);
Single fInches=Math。
Min(this。Width/grfx。DpiX,this。Height/grfx。DpiY);
grfx。ScaleTransform(fInches*grfx。DpiX/2000,fInches*grfx。
DpiY/2000);
}
protected virtual void DrawDots(Graphics grfx ,Brush br)
{
int i,iSize;
for(i=0;i
/// Form1 的摘要说明。
///
public class Form1 : System。Windows。Forms。Form
{
private System。ComponentModel。IContainer components;
private System。
Windows。Forms。Timer tmr;
private ClockTime。ClockControl clkctrl;
public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
///
/// 清理所有正在使用的资源。
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components。
Dispose();
}
}
base。Dispose( disposing );
}
#region Windows 窗体设计器生成的代码
///
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
///
private void InitializeComponent()
{
ponents = new System。ComponentModel。Container();
kctrl = new ClockTime。
ClockControl();
r = new System。Windows。Forms。Timer( ponents);
this。SuspendLayout();
//
// clkctrl
//
kctrl。
BackColor = System。Drawing。Color。Black;
kctrl。Dock = System。Windows。Forms。DockStyle。Fill;
kctrl。
Enabled = false;
kctrl。ForeColor = System。Drawing。Color。White;
kctrl。Location = new System。
Drawing。Point(0, 0);
kctrl。Name = "clkctrl";
kctrl。Size = new System。Drawing。Size(292, 273);
kctrl。
TabIndex = 0;
kctrl。Time = new System。DateTime(2005, 6, 24, 10, 19, 26, 62);
//
// tmr
//
r。
Enabled = true;
r。Interval = 1000;
r。Tick += new System。EventHandler( r_Tick);
//
// Form1
//
this。
AutoScaleBaseSize = new System。Drawing。Size(6, 14);
this。BackColor = System。Drawing。SystemColors。
Window;
this。ClientSize = new System。Drawing。Size(292, 273);
this。Controls。Add( kctrl);
this。
ForeColor = System。Drawing。SystemColors。WindowText;
this。Name = "Form1";
this。Text = "ClockControl";
this。
ResumeLayout(false);
}
#endregion
///
/// 应用程序的主入口点。
///
[STAThread]
static void Main()
{
Application。
Run(new Form1());
}
private void tmr_Tick(object sender, EventArgs e)
{
clkctrl。Time=DateTime。
Now;
}
}
}
编译过程:
csc /t:library clockcontrol。cs
csc /t:winexe /r:clockcontrol。dll form1。cs
。
收起