SN上抛系统
开发环境
windows10 + virual studio2015 + mysql8.0.23 + mysql.data5.2.3.0
开发目标
将输入的SN编号存入数据库,带上本机名和ipv4地址,每隔1分钟更新一次。SN编号可改变,改变的时候删除以前SN在数据库中的值。
开发难点
单例模式
启动窗体的时候,窗体只能创建一个,再次点击创建的时候只会打开原来的窗体或者提示只能创建一个从窗体。如何做到这一步呢?
- 首先要在setting中设置一个变量,程序中只要调用相关的方法就你能读取得到。在program.cs 和 form.cs 中编写单例的代码
算了没看懂代码,但主要的意思就是将句柄设置为互斥体,在程序启动的时候查看是否持有这个句柄,没有的话,就说明有窗体在使用,将使用的窗体调用即可。
Properties Setting.settings
setting中常用于存储数据,至少做了这个小工具是用来存储唯一不变的值。创建的时候需要注意Scope的作用域范围,user和application.
User作用域设置可以在程序运行时进行写入,并且新值会在应用程序执行期间一直保持下去。存储的数据储存在C:UsersAdministratorAppDataLocal[公司名][程序名][版本名]中。可以对其进行修改而改变程序的功能。
当设置的变量的Scope为Application时,对应的Setting在运行时不可以修改,因为作用域设置是只读的.
program.cs和form.cs的区别
Program.cs 是程序的入口:就是一个程序运行时,最先运行的地方,这里包含Main函数,不管是Winform程序还是控制台,都有这个。
Form.cs 是用户对窗体的代码操作,里面通常有窗体事件。在这里写窗体的操作代码。
Mutex
互斥体,有关锁