首页 > 代码库 > C#自动生成用于填写青铜器的“工作日报”

C#自动生成用于填写青铜器的“工作日报”

青铜器真是个折磨人的东东,落下了好几天的“工作情况”,得一天天补呀。蛋疼的是每天的工作情况不能完全一样,所以写了个工具,方便以后填写日报用。

工具的编写思路是:建立一个字符串数组,里面装上几十条工作任务,每单击一次“生成工作情况”按钮就从中随机选出四条不重样的,复制到剪贴板。


主要的控件就2个

1)上面的文本框txtGoing,要求只读,字体调大些

2)下面的生成按钮btnGenerate

还有就是注意窗体的TopMost属性要调成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 LogTool
{
    public partial class FormMain : Form
    {
        //工作情况待选项
        public string[] GoingText = new string[] 
        { 
            "维护监控客户端,优化代码",
            "与研发中心协调解决监控客户端的内存泄漏问题",
            "学习C++编程",
            "熟悉linux环境",
            "修复程序BUG,发布版本",
            "搭建环境,测试程序运行",
            "对程序进行新一轮的自测,优化代码",
            "阅读项目文档,学习项目相关知识",
            "研究监控数据脚本,熟悉Linux上的Oracle数据库相关知识",
            "修订详细设计文档",
            "维护监控系统,为NEEQ提供技术支持",
            "探讨新需求的实现,评估新需求的可行性",
            "制定了新需求的实现时间表",
            "程序编码",
            "程序新功能实现,发布新版本",
            "参加业务相关的集中培训",
            "总结程序运行环境,完善程序相关文档",
            "为程序部署提供技术支持",
            "完善监控客户端使用手册"
        };

        public FormMain()
        {
            InitializeComponent();
        }

        //随机生成4条工作情况
        private void btnGenerate_Click(object sender, EventArgs e)
        {
            try
            {
                //随机生成4个不重复的数字由小到大排列
                Random rd = new Random(DateTime.Now.Millisecond);
                int[] rdnum = new int[4];
                rdnum[0] = rd.Next(GoingText.Length);
                rdnum[1] = rd.Next(GoingText.Length);
                while (rdnum[1] == rdnum[0])
                {
                    rdnum[1] = rd.Next(GoingText.Length);
                }
                rdnum[2] = rd.Next(GoingText.Length);
                while (rdnum[2] == rdnum[0] || rdnum[2] == rdnum[1])
                {
                    rdnum[2] = rd.Next(GoingText.Length);
                }
                rdnum[3] = rd.Next(GoingText.Length);
                while (rdnum[3] == rdnum[0] || rdnum[3] == rdnum[1] || rdnum[3] == rdnum[2])
                {
                    rdnum[3] = rd.Next(GoingText.Length);
                }
                Array.Sort(rdnum);

                //生成工作情况
                StringBuilder sb = new StringBuilder();
                sb.Append("1." + GoingText[rdnum[0]] + "\r\n");
                sb.Append("2." + GoingText[rdnum[1]] + "\r\n");
                sb.Append("3." + GoingText[rdnum[2]] + "\r\n");
                sb.Append("4." + GoingText[rdnum[3]] + "\r\n");
                this.txtGoing.Text = sb.ToString();
                Clipboard.Clear();
                Clipboard.SetText(sb.ToString()); //复制到剪贴板
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
}

END

C#自动生成用于填写青铜器的“工作日报”