您的位置:首页 > 其它

简易运算 (运用封装实现)

2015-11-22 23:00 225 查看
//Form1代码:

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;
using System.IO;

namespace 简易运算
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string path = "E:/";
public static int count = 0;
public static int t = 0;
public static int right = 0;
public static int sum;
int n = 0;
int m = 0;
private void Form1_Load(object sender, EventArgs e)
{
Class1 s = new Class1();
s.text1();
}

private void button1_Click(object sender, EventArgs e)
{
StreamWriter l1 = File.AppendText("1.txt");
l1.WriteLine(text1.Text);
l1.Close();
StreamWriter l2 = File.AppendText("2.txt");
l2.WriteLine(comboBox1.SelectedItem.ToString());
l2.Close();
StreamWriter l3 = File.AppendText("3.txt");
l3.WriteLine(text2.Text);
l3.Close();
richTextBox1.Text += text1.Text + comboBox1.SelectedItem.ToString() + text2.Text + "\n";
n++;
text1.Text = "";
text2.Text = "";
savet.Enabled = true;
opent.Enabled = true;
text1.Focus();
}

private void savet_Click(object sender, EventArgs e)
{
SaveFileDialog TxtSaveDialog = new SaveFileDialog();
TxtSaveDialog.Filter = "RTF文件(*.RTF)|*.RTF";
if (File.Exists(path))
{
this.richTextBox1.SaveFile(path, RichTextBoxStreamType.RichText);
MessageBox.Show("保存成功", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
this.richTextBox1.Clear();
savet.Enabled = false;
}
else
{
if (TxtSaveDialog.ShowDialog() == DialogResult.OK)
{

this.richTextBox1.SaveFile(TxtSaveDialog.FileName, RichTextBoxStreamType.RichText);
MessageBox.Show("保存成功", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
this.richTextBox1.Clear();
savet.Enabled = false;
}
}
}

private void opent_Click(object sender, EventArgs e)
{
OpenFileDialog TxTOpenDialog = new OpenFileDialog();
TxTOpenDialog.Filter = "RTF文件(*.RTF)|*.RTF";
if (TxTOpenDialog.ShowDialog() == DialogResult.OK)
{
path = TxTOpenDialog.FileName;
this.richTextBox1.LoadFile(TxTOpenDialog.FileName, RichTextBoxStreamType.RichText);
savet.Enabled = false;
opent.Enabled = false;
MessageBox.Show("打开成功", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
}

private void button2_Click(object sender, EventArgs e)
{
jishi.Text = t.ToString();
timer1.Enabled = true;
timer1.Interval = 1000;
timer1.Start();
string[] l1 = new string[100];
l1 = File.ReadAllLines("1.txt");
string[] l2 = new string[100];
l2 = File.ReadAllLines("2.txt");
string[] l3 = new string[100];
l3 = File.ReadAllLines("3.txt");
Box1.Text = l1[0];
Box4.Text = l2[0];
Box2.Text = l3[0];
}

private void Box3_KeyDown(object sender, KeyEventArgs e)
{
string s = Box4.Text;
switch (s)
{
case "+":
sum = int.Parse(Box1.Text) + int.Parse(Box2.Text);

break;
case "-":
sum = int.Parse(Box1.Text) - int.Parse(Box2.Text);

break;
case "*":
sum = int.Parse(Box1.Text) * int.Parse(Box2.Text);

break;
case "/":
sum = int.Parse(Box1.Text) / int.Parse(Box2.Text);

break;
default:
break;
}

if (e.KeyCode == Keys.Enter)
{
if (Box3.Text == sum.ToString())
{
MessageBox.Show("回答正确哦!");
count++;
right++;
}
else
{
MessageBox.Show("回答错误哦!");
count++;
}
m++;
if (m < n)
{
Box3.Clear();
string[] ll = new string[100];
ll = File.ReadAllLines("1.txt");
Box1.Text = ll[m];
string[] l2 = new string[100];
l2 = File.ReadAllLines("2.txt");
Box4.Text = l2[m];
string[] l3 = new string[100];
l3 = File.ReadAllLines("3.txt");
Box2.Text = l3[m];
}
else
{
jishi.Enabled = false;
Form2 frm = new Form2();
frm.ShowDialog();
}
}
}

private void timer1_Tick(object sender, EventArgs e)
{
t = t + 1;
jishi.Text = t.ToString();
}
}
}


//Form2代码:
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 简易运算
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

private void Form2_Load(object sender, EventArgs e)
{
textBox2.Text = Form1.count.ToString();
textBox1.Text = Form1.right.ToString();
textBox3.Text = ((Form1.right / (double)(Form1.count)) * 100).ToString() + "%";
}

private void label1_Click(object sender, EventArgs e)
{

}
}
}


//Class1.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace 简易运算
{
class Class1
{
public void text1()
{
File.WriteAllText("1.txt", string.Empty);
File.WriteAllText("2.txt", string.Empty);
File.WriteAllText("3.txt", string.Empty);
}
}
}


 测试截图:







总结; 虽然开始不是很懂,做的慢,但还是尽力做了。策略模式 还没搞懂,我想我会想办法搞明白的 只是我的进度慢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: