y = -1; }
if (label1.Left < 5) {
y = 1; } }
//垂直移动
if (radioButton2.Checked) {
label1.Top = label1.Top + 10 * y;
if (label1.Top > panel1.Size.Height-20) {
y = -1; }
if (label1.Bottom < 20) {
y = 1; } } }
//鼠标单击\水平移动\控件时发生
private void radioButton1_MouseClick(object sender, MouseEventArgs e) {
if (timer1.Enabled == true) {
timer1.Enabled = false;
MessageBox.Show(\请先暂停移动,再选择移动方式!\\提示信息\MessageBoxButtons.OK, MessageBoxIcon.Warning);
radioButton2.Checked = true; }
timer1.Enabled = true; }
//鼠标单击\垂直移动\控件时发生
private void radioButton2_MouseClick(object sender, MouseEventArgs e) {
if (timer1.Enabled == true) {
timer1.Enabled = false;
MessageBox.Show(\请先暂停移动,再选择移动方式!\\提示信息\MessageBoxButtons.OK, MessageBoxIcon.Warning);
radioButton1.Checked = true; }
timer1.Enabled = true;
} } }
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 WindowsFormsApplication3 {
public partial class Form1 : Form {
public int k = 1; public Form1() {
InitializeComponent(); } public inti = 1;
private void button2_Click(object sender, EventArgs e) {
timer1.Enabled = false; timer2.Enabled = false; }
private void button1_Click_1(object sender, EventArgs e) {
if (k == 1) {
timer1.Enabled = true; } else
timer2.Enabled = true; }
private void radioButton1_CheckedChanged_1(object sender, EventArgs e) {
k = 1;
timer2.Enabled = false; timer1.Enabled = true; }
private void radioButton2_CheckedChanged(object sender, EventArgs e) {
k = 2;
timer2.Enabled = true; timer1.Enabled = false; }
private void timer1_Tick(object sender, EventArgs e) {
if (i == 0) {
if (label1.Left > 2)
label1.Left = label1.Left - 2; else i = 1;
} else {
if (label1.Left < panel1.Width - label1.Width) label1.Left = label1.Left + 2; else i = 0;
} }
private void timer2_Tick(object sender, EventArgs e) {
if (i == 0) {
if (label1.Top > 2)
label1.Top = label1.Top - 2; else i = 1;
} else {
if (label1.Top < panel1.Height - label1.Height) label1.Top = label1.Top + 2; else i = 0;
} } } }
5. 试编写Windows应用程序,完成下列要求:
(1)Form1窗体设计界面如下:
(2)运算类型的下列列表中包括:加法、减法、乘法、除法、取模共5种操作; 当用户未选定运算类型时,下面的控件均不可见;当用户选定一种运算类型后,下面的控件可用,其中加号“+”应自动更改为相应的运算符;
(3)当用户在前两个文本框中输入时,最后得到结果的文本框自动显示运算结果,注意该文本框是只读的,用户不能更改其值;
(4)使用过程中,用户修改运算类型时,三个文本框的内容自动清空;
(5)注意第一个和第二个文本框如果输入的不是数字时,要有异常处理检查,并自动清空里面的内容然后继续输入。
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 Test5 {
public partial class Form1 : Form {
double a, b, c; public Form1() {
this.StartPosition = FormStartPosition.CenterScreen; //窗口居中显示 InitializeComponent(); }
//控件改变索引值
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) {
textBox1.Text = \ textBox2.Text = \ textBox3.Text = \
panel1.Visible = true; //使计算控件可见 int m = comboBox1.SelectedIndex; //获取当前选择的索引 switch (m) {
//加法 case 0:
label2.Text = \显示加法运算符 break; case 1:
label2.Text = \显示减法运算符 break; case 2:
label2.Text = \显示乘法运算符 break; case 3:
label2.Text = \显示除法运算符 break; case 4:
label2.Text = \显示取模运算符 break; } }
//计算方法
public void compute() {
int m = comboBox1.SelectedIndex; //获取当前选择的索引 switch (m) {
//加法 case 0:
c = a + b;
textBox3.Text = c.ToString(); //显示运算结果 break; //减法 case 1:
c = a - b;
textBox3.Text = c.ToString(); //显示运算结果 break; //乘法 case 2:
c = a * b;
textBox3.Text = c.ToString(); //显示运算结果 break; //除法 case 3:
c = a / b;
textBox3.Text = c.ToString(); //显示运算结果 break;