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


    //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++; 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); } } }

     测试截图:

    总结; 虽然开始不是很懂,做的慢,但还是尽力做了。策略模式 还没搞懂,我想我会想办法搞明白的 只是我的进度慢

  • 相关阅读:
    监控代码运行时长 -- StopWatch用法例程
    验证码处理算法(一)
    Linux下安装JDK及相关配置
    JAVA爬虫---验证码识别技术(一)
    JAVA4大线程池
    海量数据去重(上亿数据去重)
    python协程与异步协程
    解决WinSCP连接虚拟机
    生产消费者模式与python+redis实例运用(中级篇)
    生产消费者模式与python+redis实例运用(基础篇)
  • 原文地址:https://www.cnblogs.com/harlem/p/4987035.html
Copyright © 2020-2023  润新知