当前位置:K88软件开发文章中心编程语言.NET.NET02 → 文章内容

使用VF制作系统登录表单

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2019-1-3 0:15:04

:2010-07-02 13:45:00

有很多应用程序需要一个登陆窗口,本例将制作一个简单的登录表单,系统运行时首先启动此登录表单,运行界面如下图:

输入正确的用户名及密码才会启动主表单,如下图;若连续3次输入错误的用户名及密码则会自动退出。

制作步骤如下:

1、新建表单,将表单的caption属性值设置为“系统登录”,ShowWindow属性值设置为“2-作为顶层表单”,width属性值设置为295,height属性值设置为100,AutoCenter属性值设置为,并将表单保存为“系统登录.scx”。

2、继续设置该表单的属性:将表单的MaxButton及MinButton属性值均设置为.f.,这样就屏蔽掉了表单的最大化和最小化按钮,成为只有一个关闭按钮的对话框。

3、向表单添加两个label控件,将它们的caption属性值分别设置为“用户名”和“密 码”。

4、向表单添加两个文本框控件,并将其中的Text2的PasswordChar属性值设置为“*”。

5、向表单添加两个ming令按钮command1和command2,将它们的caption属性值分别设置为“确定”和“退出”。

6、适当调整各控件在表单上的位置及大小,调整后的表单设计器如下图:

7、右击表单空白处,选“数据环境”ming令,将“管理”表添加到表单的数据环境中。

8、添加事件代码:

(1)表单的init事件代码:

public cn &&声明全局变量,用于计算登录次数
        cn=0

(2) 表单的unload事件:

close all
        clear events
        quit

(3)接收用户名的文本框Text1的KeyPress事件代码:

LPARAMETERS nKeyCode, nShiftAltCtrl
      if nKeyCode=13.and.!empty(this.value) &&输入用户名后按回车即进入输密码
           thisform.Text2.enabled=.t.
           thisform.Text2.setfocus
      endif

(4)“确定”按钮command1的click事件代码:

cname=alltrim(thisform.text1.value)
        ppassword=alltrim(thisform.text2.value)

           cn=cn+1
         if cn=3
              thisform.release
        endif
        set exact on
        go top
        locate for 操作员姓名=cname.and.密码=ppassword
        if eof()
            messagebox('用户名或密码错误,请重新输入!','系统提示')
            return
        else     
            thisform.visible=.f. 
            do form 主表单 &&调入主界面表单
        endif
        set exact off &&设置字符非精确比较

(5)“退出”按钮command2的click事件代码:

thisform.release

9、运行“系统登录.scx”即可,“管理.dbf”的结构,其中预置的两个操作员的用户名及密码分别是:

用户名 密码
张三 12345678
李四 aaaaaaaa

本例代码在Win2003+VFP6.0环境下调试通过。



使用VF制作系统登录表单