前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分享一个我用WinForm写的常用小工具箱,平常工作事半功倍!

分享一个我用WinForm写的常用小工具箱,平常工作事半功倍!

作者头像
老张的哲学
发布2024-02-22 15:49:50
2550
发布2024-02-22 15:49:50
举报
文章被收录于专栏:NetCore 从壹开始NetCore 从壹开始

随着开发经验的提升,每个程序员都会有几个自己用的顺手的小工具,就像是一个个兵器一样,之前我的工具都是web版本的,但是随着网络、设备、团队是否方便使用以及数据安全等多个方面的考虑,我决定把平时的小工具慢慢放到本地电脑上,所以就考虑到了老本行,几年前的拖动控件——WinForm。用起来是真方便,花两天写了写,感觉很舒服。

当然大家可以留言,看看你需要哪些小功能,我都集成进来。

1、重点小工具介绍

考试抽取小工具

这个工具整体还是比较简单的,需求是把Word中有一定格式的试题进行抽取,变成数组导出到Excel中,其中我也是自创了一个核心算法,就是答案搜寻法。这个思路我认为很有意思,如果有这类需求的小伙伴,可以讨论。有人说为啥不直接用AI,因为这里涉及到安全问题,题目不能放到公网上,除非自己公司搭建了一套AI模型,那就没问题了。

数据加解密小工具

这个图片就不放了,毕竟涉及到安全和算法问题,可以把常见的加密解密算法做集中处理,比如国产的SM2~4算法,或者其他的对称、非对称,甚至Base,或者UrlDecode等等都有,都可以放进来,方便提高自己工作效率。

2、框架介绍

项目采用主窗口和多个子窗口的模式,首先是个首页,然后点击进去,是单独的每一个单独的子窗口,都是单独的生命周期,当关闭子窗口的时候,又唤醒主窗口,然后主窗口关闭的时候,整个进程被杀死即可。

代码语言:javascript
复制
 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();
 }
 
 // 其他窗口类似
 // ...

3、文件的打包和分享

常见的CS程序如果引用了第三方的Nuget,编辑的时候,会有很多dll文件,这样不仅看着麻烦,也不方便分享给团队成员,那很简单,只需要一个工具,就可以把依赖打包到一起:

代码语言:javascript
复制
Install-Package Costura.Fody

就是这个工具,当前项目添加好后,就会编译成单独的一个exe文件,特别方便

好啦,简单的小工具分享完了,继续工作了,以后慢慢添加积木就行,你有什么好用并且肯定很常用的小工具么,发出来,我加进去。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-02-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 NetCore 从壹开始 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档