可能初学大家都对一个程序的登录跳转会有一定的疑问,我主程序不是登录窗体,如何从登录窗体调转到主窗体等问题。现在我就贴点实际的项目里面的代码看看
1 /// <summary> 2 /// 应用程序的主入口点。 3 /// </summary> 4 [STAThread] 5 static void Main(string[] args) 6 { 7 Application.EnableVisualStyles(); 8 Application.SetCompatibleTextRenderingDefault(false); 9 Reset: 10 //---------------------------------------------- 11 //开始登录 12 //---------------------------------------------- 13 FrmLogin frmLogin = new FrmLogin(); 14 Application.Run(frmLogin); 15 if (frmLogin.DialogResult == DialogResult.OK) 16 { 17 //登录成功则打开应用主程序 18 FrmMain frmMain = new FrmMain(); 19 Application.Run(frmMain); 20 //注销则重启登录窗口 21 if (frmMain.DialogResult == DialogResult.OK) 22 { 23 goto Reset; 24 } 25 } 26 }
上面的代码为登录跳转,不懂得可以留言哈。
下面我们就来说说关于程序升级的一个思路,可能有很多的方法,我这里就提个思路
具体怎么做不会的可以问我
现在有一种是升级的办法,就是给出升级清单,然后通过文件下载的方式去更新(要提前做一个更新程序)
另外一种就是IE打开EXE方式,这个方式更新比较简单,更新了哪个模块就直接丢对应模块到服务器,让客户端重新打开就可以,需提前在项目架构的时候就分配好模块,以便以后的模块更新比较方便,也不会存在说一个解决方案东西太多,调试生成解决方案慢。
升级的方案
需要确保服务器可以连接,可以先使用PING的方式测试是否能连接到服务器,如果不能就切换到备用服务器,两个都不可以就考虑一下自身网络或者服务器网络问题。下载文件一般都是HTTP
至于版本的比对可以用string.Compare去判断,前面参数是服务器上的版本号,第二个参数是本地的版本号,至于其他参数看自己的需要,一般都是忽略大小写,第三个参数是TRUE
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(文件地址, 服务器地址 + "|" + 旧的EXE程序名称 + "|" + 新的EXE程序+ "|>|" + 服务器文件清单);