随着开发经验的提升,每个程序员都会有几个自己用的顺手的小工具,就像是一个个兵器一样,之前我的工具都是web版本的,但是随着网络、设备、团队是否方便使用以及数据安全等多个方面的考虑,我决定把平时的小工具慢慢放到本地电脑上,所以就考虑到了老本行,几年前的拖动控件——WinForm。用起来是真方便,花两天写了写,感觉很舒服。
当然大家可以留言,看看你需要哪些小功能,我都集成进来。
考试抽取小工具
这个工具整体还是比较简单的,需求是把Word中有一定格式的试题进行抽取,变成数组导出到Excel中,其中我也是自创了一个核心算法,就是答案搜寻法。这个思路我认为很有意思,如果有这类需求的小伙伴,可以讨论。有人说为啥不直接用AI,因为这里涉及到安全问题,题目不能放到公网上,除非自己公司搭建了一套AI模型,那就没问题了。
数据加解密小工具
这个图片就不放了,毕竟涉及到安全和算法问题,可以把常见的加密解密算法做集中处理,比如国产的SM2~4算法,或者其他的对称、非对称,甚至Base,或者UrlDecode等等都有,都可以放进来,方便提高自己工作效率。
项目采用主窗口和多个子窗口的模式,首先是个首页,然后点击进去,是单独的每一个单独的子窗口,都是单独的生命周期,当关闭子窗口的时候,又唤醒主窗口,然后主窗口关闭的时候,整个进程被杀死即可。
private void AllFormsClosed(object sender, FormClosedEventArgs e)
{
Console.WriteLine(Application.OpenForms.Count);
Application.Exit();
if (Application.OpenForms.Count == 0)
{
// 所有窗体都已关闭,执行进一步的逻辑
}
}
private void FormMain_FormClosed(object sender, FormClosedEventArgs e)
{
// 创建并显示主窗体
FormMain mainForm = new FormMain();
mainForm.Show();
// 隐藏当前的子窗体
this.Hide();
}
private void button1_Click(object sender, EventArgs e)
{
// 创建第一个 Form 的实例
Form1 form1 = new Form1();
form1.FormClosed += FormMain_FormClosed; // 注册子窗体的关闭事件处理程序
// 隐藏当前的 Form
this.Hide();
// 显示第一个 Form
form1.Show();
}
private void button2_Click(object sender, EventArgs e)
{
// 创建第一个 Form 的实例
Form2 form2 = new Form2();
form2.FormClosed += FormMain_FormClosed; // 注册子窗体的关闭事件处理程序
// 隐藏当前的 Form
this.Hide();
// 显示第一个 Form
form2.Show();
}
// 其他窗口类似
// ...
常见的CS程序如果引用了第三方的Nuget,编辑的时候,会有很多dll文件,这样不仅看着麻烦,也不方便分享给团队成员,那很简单,只需要一个工具,就可以把依赖打包到一起:
Install-Package Costura.Fody
就是这个工具,当前项目添加好后,就会编译成单独的一个exe文件,特别方便
好啦,简单的小工具分享完了,继续工作了,以后慢慢添加积木就行,你有什么好用并且肯定很常用的小工具么,发出来,我加进去。