关于Winform多线程方式登录代码
为了方便大家学习相关的知识,YJBYS小编下面为你整理了关于Winform多线程方式登录代码,希望对你有所帮助。
bool restart = true;
while (restart)
{
Start(out restart);
}
(1):在主进程中不停的调用start.
void Start(out bool restart)
{
bool connected = false;
restart = false;
string[] userInfo = null;
try
{
//打开LoginInfoForm窗体,返回用户名密码。
userInfo = GetLoginInfo();// oginInfo();
if (userInfo == null)
{
loginOK = false;
return;
}
//启动登陆后台线程。LoginProcessForm窗体启动MySplashThread启动不停的打开LoginProcessForm窗体。
();
}
catch (Exception err)
{
e(err);
Dialog("录入登录信息发生异常,请和管理员联系", r);
return;
}
eProcessState previousStepResult = lete;
while (tExecute())
{
try
{
switch (entStep)
{
case eLoginState.__:
case eLoginState.__:
case eLoginState.__:
case eLoginState.__:
}
previousStepResult = lete;
//结束执行
xecute(previousStepResult);
}
catch (Exception error)
{
//略
}
}
}
//start中的对过程的控制。
static public void Show()
{
try
{
//当第二次调用的时候MySplashThread != null了这个时候
if (MySplashThread != null)
{
// public void Reset()
//{
// t();
//currentItemIndex = 0;
//}
//相当于触发t事件。
ke(new MethodInvoker(t));
//将窗体显示出来。
ke(new MethodInvoker());
return;
}
//当第一次的时候调用构造函数构造出窗体。构造出来以后();通知
if (MySplashForm == null)
{
MySplashForm = new LoginProcessForm(myResetEvent);
}
//这里只是每次都调用(MySplashForm);作用相当于建立起信息循环队列
MySplashThread = new Thread(new ThreadStart(Thread));
ckground = true;
partmentState();
t();
//等待直到();
One(5000);
}
catch (Exception err)
{
e(err);
}
}
//构造函数。
public LoginProcessForm(AutoResetEvent autoreset)
{
myResetEvent = autoreset;
Renderer = new SkinFormLoginFormRender();
InitializeComponent();
//ost = true;
//eBox = true;
CanMoveWindow = false;
= "Version:" + mblyFileVersion;
+= new EventHandler(LoginProcessForm_Load);
}
delegate void EndExecuteCallback(eProcessState previousProcessResult);
static public void EndExecute(eProcessState previousProcessResult)
{
//winform中子线程不能更新主线程的`控件。所以keRequired代表是否需要更新主线程控件。
//如果需要更新的话ke
if (keRequired)
{
//回调会继续执行previousProcessResult,等下次的时候就会到下面去执行了。
ke(new EndExecuteCallback(EndExecute), previousProcessResult);
}
else
{
//如果
xecute(previousProcessResult);
}
}
///
/// 进入下一过程
///
///
///
public void EndExecute(eProcessState previousProcessResult)
{
//progressView为我们使用的用户控件
ip(processItems[currentItemIndex], previousProcessResult);
currentItemIndex++;
}
//关闭代码
static public void Close()
{
try
{
if (MySplashThread == null) return;
if (MySplashForm == null) return;
try
{
ke(new MethodInvoker(e));
}
catch (Exception err)
{
e(err);
}
t();
}
catch (Exception err)
{
e(err);
}
finally
{
MySplashThread = null;
MySplashForm = null;
}
}
-
2017软件工程师考试计算机基础知识
软件工程师英文是SoftwareEngineer,是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。yjbys小编下面为你整理了关于计算机基础知识的文章,希望对你有所帮助。一、硬件知识1、计算机系统的组成包括硬件系统和软件系统硬件系统分为三种典型...
-
accp5.0适合人群
高中学历在一个软件企业中,需要有一个合理的人力资源结构,这当中,需求量最大的就是进行软件开发和编程的人员。由于这个工作的特殊性,对这些人的要求不高,只要有高中或中专学历,通过IT职业培训就可以胜任。在印度,一个高中毕业没有上过大学的人,只要通过1-2年的IT专业...
-
2016年ACCP软件工程师就业前景怎么样
ACCP(阿博泰克认证的计算机专家)课程始于2002年,由权威学术界人士、政府部门领导、知名软件企业技术专家、以及IT产业的杰出专家代表组成专家顾问团,并由150多名知名技术开发人员,在对中国IT企业,培训中心经过一系列调研的基础上,研发完成。2016年ACCP软件工程师就...
-
web前端开发工程师简介
Web前端一直是占有重要的地位。尤其是近年来HTML5技术的突飞猛进,使Web前端技术有了更好的发展。Web前端开发人员的薪资也是一路猛涨。下面我们一起了解一些web前端开发工程师简介,欢迎大家参考!Web前端和后端的差异职能上的差异首先,我们要分清Webdesigner(网页...
相关文章
- should women work after getting married英语作文
- Office办公Word多栏页码设置技巧
- 如何破解winRAR加密文件 Microsoft Word 文档
- 英语演讲稿:Working for a short time
- OFFICE2007每次打开word时都显示配置microsoft office professio
- brought rain in April Mayflowe英语作文
- Never Put Off anything Until Tomorrow 今日事今日毕英语作文
- word提示Microsoft Office Word已停止工作的解决方法
- 朗文双语口语教程Form morning to night从早到晚
- Should women work after marriage英语作文