一:首先先看一个简单的例子,就是倒计时
在工具箱中 的组件中选取Timer点击设置,重点是enable的设置
代码如下:
int n = 10;
private void timer1_Tick(object sender, EventArgs e)
{
n--;
label1.Text = n.ToString();
if (n <= 0)
timer1.Enabled = false;
}
private void button1_Click_1(object sender, EventArgs e)
{
timer1.Enabled = true;
}
运行图如下:
二:例:导弹发射
窗体底部,有个“发射”按钮,旁边一个PictureBox放一个导弹图片。
点击“开始”,从10开始倒计时。
倒计时到0时,导弹开始向上移动,直到移出窗体。
用到的知识:
控件的Left属性表示横坐标,Top属性表示纵坐标
代码如下;
发射:
int n = 10;
private void timer1_Tick(object sender, EventArgs e)
{
n--;
label1.Text = n.ToString();
if (n == 0)
{
timer1.Enabled = false;
timer2.Enabled = true;
}
}
private void timer2_Tick(object sender, EventArgs e)
{
pictureBox1.Top -= 10;
if (pictureBox1.Top <= 0)
timer2.Enabled = false;
}
发射:
private void button1_Click(object sender, EventArgs e)
{
timer1.Enabled = true;
}
三:工具条ToolStrip
用于在窗体(通常是顶部)显示工具栏。
是一个容器,其中可包含多个工具栏按钮等控件。
常用属性:
ImageScalingSize 工具条上按钮图片缩放尺寸
工具条按钮的常用属性和事件
属性 | 说明 |
DisplayStyle | 设置图像和文本的显示方式(只显示图片、只显示文本、同时显示图片和文本) |
Image | 按钮上显示的图片 |
Text | 按钮上显示的文本 |
事件 | 说明 |
Click | 单击按钮时,触发该事件 |
例:设计一个服务器工具条,上有4个按钮:启动/继续、暂停、停止、退出
按钮同时显示文字和图片
图片缩放成32个像素大小
各个按钮之间要实现互斥逻辑关系:即服务启动以后,启动按钮不可用,暂停、停止可用。停止后,停止、暂停不可用,启动可用。退出按钮永远可用。
d
代码如下:
private void Form1_Load(object sender, EventArgs e)
{
toolStripButton1.Enabled = true;
toolStripButton2.Enabled = false;
toolStripButton3.Enabled = false;
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
toolStripButton1.Enabled = false;
toolStripButton2.Enabled = true;
toolStripButton3.Enabled = true;
}
private void toolStripButton2_Click(object sender, EventArgs e)
{
toolStripButton1.Enabled = true;
toolStripButton2.Enabled = false;
toolStripButton3.Enabled = false;
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
toolStripButton1.Enabled = true;
toolStripButton2.Enabled = false;
toolStripButton3.Enabled = false;
}
状态条 StatusStrip
状态条StatusStrip与工具条ToolStrip类似,但通常里面包含Label而非Button。
例:在状态条上显示当前时间,并实时刷新
四:怎样创建MDI
MDI程序示例
学生管理程序
主窗体MainForm
添加学生子窗体AddStudent
学生列表子窗体StudentList
通过菜单打开子窗体
父窗体和子窗体设置如下:
private void firstToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.MdiParent = this;
f.Show();
}
private void secondToolStripMenuItem_Click(object sender, EventArgs e)
{
Form3 f = new Form3();
f.MdiParent = this;
f.Show();
}