第五课 用户登录.docx

上传人:scccc 文档编号:12122328 上传时间:2021-12-02 格式:DOCX 页数:6 大小:13.86KB
返回 下载 相关 举报
第五课 用户登录.docx_第1页
第1页 / 共6页
第五课 用户登录.docx_第2页
第2页 / 共6页
第五课 用户登录.docx_第3页
第3页 / 共6页
第五课 用户登录.docx_第4页
第4页 / 共6页
第五课 用户登录.docx_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《第五课 用户登录.docx》由会员分享,可在线阅读,更多相关《第五课 用户登录.docx(6页珍藏版)》请在三一文库上搜索。

1、.第五课 用户登录· 用户登录窗体 · 多线程编程 一、用户登录窗体1、窗体模式Windows窗体模式分 Modal 和 Modeless 两种,中文分别称为“模式窗体”和“非模式窗体”。两种窗体模式的区别在于:窗体打开之后是否立即返回到调用者。非模式窗体打开后会立即返回,而模式窗口则必须关闭之后才会返回。ShowDialog()方法:将窗体以“模式窗体”打开Show()方法:将窗体以“非模式窗体”打开用户登录窗体应以“模式窗体”打开,便控制未登录用户的操作。2、模式窗体的返回与返回值当设置窗体的 DialogResult 属性为除枚举值 DialogResult.None

2、 之外的值时,窗体关闭,并返回所设置的窗体 DialogResult 属性值。System.Windows.Forms命名空间enum DialogResult  None,  OK,  Cancel,  Abort,  Retry,  Ignore  Yes,  No3. 窗体 DialogResult 属性设置1)直接赋值2)通过命令按钮自动赋值当单击命令按钮或窗体上的关闭按钮时,系统将自动把按钮的 DialogResult 属性值赋给窗体的 DialogResult 属性。4. 用户登录窗体按钮“登录”:Di

3、alogResult.None,当登录成功时,通过程序直接窗体 DialogResult 属性设置为 DialogResult.OK 或其他非None值。“取消”:DialogResult.Cancel5. 窗体默认命令按钮当窗体焦点不在按钮上时,按下回车键、Esc钮,窗体自动“单击”的按钮。窗体的 AcceptButton 属性:设置“回车”默认按钮窗体的 CancelButton 属性:设置“Esc”默认按钮6. 显示登录窗体在主窗体的 Load 事件处理函数中添加如下代码FormSignIn fsi = new FormSignIn();if (fsi.ShowDialog() != D

4、ialogResult.OK)   Application.Exit();   this.Dispose();7. 登录实现1)生成登录信息包2)将信息包发送到服务器3)根据服务器返回的信息确定是否成功登录。或成功登录则记录成功登录信息,并设置窗体的 DialogResult为DialogResult.OK,否则提示错误信息,重新登录,或设置窗体的 DialogResult为DialogResult.Cancel,退出应用程序。先使用 Demo 的 GSCommon.dll 程序集中定义的类和方法来实现。Demo服务器返回信息:1)成功登录:返回在线用户

5、信息表(数据库中 VwOnlineUsers 视图)2)失败分两种情况:一种是已在别处登录,返回逻辑值 true, 另一种情况是密码或口令错,返回逻辑值 false二、多线程编程1. 进程与线程进程(process):程序的计算机中运行的实例。线程(thread):一个进程中完成不同子任务的实例。一个 Windows 应用程序进程通常包含多个线程,其中一个线程为主线程启动线程,负责接受和处理用户输入信息、更新用户界面等,其他线程根据需要由程序员在进程/线程中创建。多线程使得一个进程能并行地执行不同的子任务。2. 线程的创建System.Threading.Thread构造函数1) Thread

6、(ThreadStart 委托实例);2) Thread(ParameterizedThreadStart 委托实例);ThreadStart、与 ParameterizedThreadStart 的构造函数中都带一个参数,这个参数就是:线程要执行的方法名称(线程代码),而且都是 void 类型的方法。 ThreadStart委托执行方法不带参数,ParameterizedThreadStart委托执行方法带一个object参数,由启动线程时将参数传递给委托执行的方法。3. 线程的启动启动无参数委托线程:Start();启动参数化委托线程:Start(object对象)4. 前台线程与后台线程前台线程:负责接受和处理用户输入信息的的线程,影响用户界面的更新后台线程:不影响用户界面更新的其他处理线程,通过 IsBackground 属性设置。5。登录中使用多线程可以避免出出现程序“假死”现象。当单击“登录”时创建一后台线程,线程代码为向服务器发送信息,然后等待线程结束(先用查询线程状态的方式等待线程结束),处理服务器返回的信息。;.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1