MyTask4

最近稍微做了点修改,把几处bug修复了下,另外新增了授权码功能和数据缓冲功能


先看看效果图



1.

如果要把软件做的高大上一些,你可以加一个授权验证,授权码以字符串形式存放在程序里面,当然你也可以另外开一个窗体,自己写个加密解密字符串小插件。

Boolean licenseKey(string code)
		{
			string []key = new string[]{"yefeng",""};
			for(int i = 0;i<2;i++)
				if(key[i].Equals(code) == true)
					
					return true;
			return false;
			
		}
		
		void Button13Click(object sender, EventArgs e)
		{
			string key = Interaction.InputBox("请输入授权码","医疗数据分析软件","",500,300);
			if(key == "")
				//MessageBox.Show("点击取消返回","提示");
				return;
			else
			{
				if(licenseKey(key) == true)
				{
					radioButton1.Enabled = true;
					radioButton2.Enabled = true;
					button6.Enabled = true;
					button11.Enabled = true;
					button12.Enabled = true;
					button13.Text = "已授权";
					button13.ForeColor = Color.Red;
					//button13.Enabled = false;
					button13.Visible = false;
					label8.Visible = true;
					
				}
				else
					MessageBox.Show("授权码错误,请联系开发者获取授权码","错误提示");
			}
			
		}



*注:

之前是有打算把授权码保存到本地文件的,因为加密解密的缘故,在本地的授权码是加密的形式,所以可以防止关闭程序后,内存中的数据清空,等重开程序,又要重新验证一次的缘故。

我好懒,不想写,感觉这样用着也行,凑合着,如果以后闲得慌再去实现



2.

另外一个是数据分析之后,缓冲一下在展示数据,感觉这个功能完全是yy出来的,因为要弄的高大上一点,你懂得。

<span style="white-space:pre">			</span>textBox3.Text = "数据正在后台分析...请稍后...";
			
			//new Thread(sleepDataShow).Start();
			Application.DoEvents();
			Random rd = new Random(GetRandomSeed());
			int flagThread = (int)(rd.NextDouble()*3000+2000);
			//System.Diagnostics.Debug.WriteLine("flagThread:"+flagThread);
			Thread.Sleep(flagThread);
			
			//if(flagSleepDataShow == 1)//在判断确定已经sleep之后在显示数据
			//{
			//flagSleepDataShow = 0;
			DialogResult dr= MessageBox.Show("数据分析完毕","请点击确定", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);

*注:


之前是直接让主线程sleep,发现显示出了问题,后来看了下,你阻断主线程,当然会影响到其他进程,后面又想不用主线程吧,自己另外开了一个线程,发现结果还是不行,后面查了下资料,加了一句这个就行了

<span style="white-space:pre">			</span>Application.DoEvents();

总结:高大上的功能都是小细节组成的,这句话真的有道理

posted @ 2016-05-20 19:24  __夜风  阅读(265)  评论(0编辑  收藏  举报