main方法:位于Program.cs
文件,表示Windows窗体程序的入口。
示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
namespace MyForm
{
static class Program
{
//code
static void Main( )
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1()); //启动窗体
}
}
} |
1.Label标签
作用:显示静态文字(不可编辑),经常用来提示输入、输出结果等,常用属性Text,表示其上显示的文本。
示例1:
1
|
string s = label1.Text; //读取文本 |
示例2:
1
|
label1.Text=“要显示的文字”; //显示文本 |
2.Butten按钮
作用:显示一个按钮,单击时执行一个操作。
常用属性:Text按钮文本
常用事件:Click单击事件
3.TextBox文本框
常用属性Text,表示其中的文本;
常用事件TextChanged,文本变化时触发。
示例1:
1
|
string s = textBox1.Text; //读取文本 |
示例2:
1
|
textBox1.Text=“要显示的文字”; //显示文本 |
其他:数值和字符串互相类型转换
1
2
|
doule.Parse(textBox1.Text)
textBox1.Text=10.ToString(); |
特点:多选一,互斥。
常用属性:Checked,表示是否选中。
示例1:
1
2
3
4
|
if(radioButton1.Checked) //如果选中则做某项工作
{
//code
} |
示例2:
1
|
radioButton1.Checked = true; //设置选中 |
5.CheckBox复选框
特点:多个选项,多选多。
是否选中:Checked属性。
示例1:
1
2
3
4
|
if(checkBox1.Checked) //如果选中则做某项工作
{
//code
} |
示例2:
1
|
checkBox1.Checked = true; //设置选中 |
6.Timer定时器
作用:用于周期性的执行任务。
重要属性:
- Interval:定时间隔,以毫秒为单位
- Enabled:是否启动计时
重要事件:
- Tick:定时间隔到达
7.对话框操作
制作一个简单的对话框。
1
2
3
4
5
6
7
8
|
private void button1_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("简单对话框","这是标题",MessageBoxButtons.OKCancel);
if (result == DialogResult.OK) //点击“确定”,则关闭form,点击取消,则关闭对话框
{
this.Close();
}
}
|
8.题目设计1——倒计时
要求:一个Label文字为10。一个按钮,文字为“开始”,点一下,开始倒计时,文字变为停止。按钮用于切换开始和停止倒计时。倒计时到了0自动停止,不能出现负数。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace test1
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
int n = int.Parse(label1.Text);
if (n > 0)
{
n--;
label1.Text = n.ToString();
}
else
{
timer1.Enabled = false;
}
}
private void button1_Click(object sender, EventArgs e)
{
if (button1.Text == "开始")
{
button1.Text = "停止";
timer1.Enabled = true;
}
else
{
button1.Text = "开始";
timer1.Enabled = false;
}
}
}
}
|
9.题目设计2——导弹发射
要求:(挺多…)
1. 窗体底部,有个“发射”按钮,旁边一个PictureBox放一个导弹图片。
2. 点击“开始”,从3开始倒计时。
3. 倒计时到0时,导弹开始向上移动,直到移出窗体。
4. 共有3颗炮弹。点击发射按钮,则发射1颗炮弹。
5. 上一颗炮弹发射后,自动装填下一颗,即下一颗炮弹显示在发射初始位置。
6. 全部发射完毕后,不能再装填和发射。
7. 同一时间只能发射一颗炮弹,即:如果有一颗炮弹在运行过程中,则不能再次发射其他炮弹。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace test
{
public partial class Form1 : Form
{
int a=3;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//确认有剩余炮弹
if (timer1.Enabled == true) return;
//确认处于非发射状态
if (a==0) return;
a--;
label3.Text = a.ToString();
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
int n = int.Parse(label1.Text);
if (n > 0)
{
n--;
label1.Text = n.ToString();
}
else
{
pictureBox1.Top -= 10;
timer1.Interval = 30;
if (pictureBox1.Top <= 0)
{
timer1.Enabled = false;
pictureBox1.Top = button1.Top - 105;
//label1.Text = "3";
}
}
}
}
}
|