以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于模式窗口的隐藏或关闭问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=20096)

--  作者:yankunhao
--  发布时间:2012/5/29 11:14:00
--  关于模式窗口的隐藏或关闭问题

我设计了一个系统,其中有个登录表中有个登录窗口,该窗口为模式窗口,当用户启动系统时先打开这个窗口,用户这时只能见到这个窗口,当成功登录系统后关闭登录窗口,然后打开另一个表的模式窗口,这个时候当用户最小化这个窗口的时候,请问为什么还能看见到那个登录窗口(见到这个窗口,但该窗口的其他控件没显示)?

 

如果我想当用户最小化当前窗时,用户不能见到其他窗口或表,或其他菜单,就像登录时那样,应该如何做呢?

 


--  作者:狐狸爸爸
--  发布时间:2012/5/29 11:24:00
--  

不要在模式窗口的关闭按钮中打开另一个模式窗口。

应该是:

 

Forms("模式窗口1").Open()

if 某个条件 Then

    Forms("模式窗口2").Open()

end if


--  作者:yankunhao
--  发布时间:2012/5/29 11:29:00
--  
我是在登录窗口的确定按钮中写代码的,当用户名和密码对的时候就打开加一个表的模式窗口的,但我发现那个登录窗口还是在当前窗口的背后,我客户要求不能这样的.
--  作者:lsfdf
--  发布时间:2012/5/29 11:32:00
--  
同问
--  作者:blackzhu
--  发布时间:2012/5/29 11:42:00
--  
登录按钮关闭当前窗口,打开其他窗口,不会有问题的.
--  作者:lsfdf
--  发布时间:2012/5/29 11:46:00
--  
在确定 里 部分代码如下:关闭当前窗口,打开另外一个窗口,但关闭的窗口还是在后面
If e.Form.Controls("PassWord").Value = dr("Password") Then
    _UserName = UserName
    _UserGroup = dr("Group") 
    e.Form.Close
    forms("main").open()
Else
    Messagebox.show("密码错误!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
[此贴子已经被作者于2012-5-29 11:46:36编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/5/29 11:53:00
--  
If e.Form.Controls("PassWord").Value = dr("Password") Then
    _UserName = UserName
    _UserGroup = dr("Group")
    e.Form.BaseForm.Hide
    e.Form.Close
    forms("main").open()
Else
    Messagebox.show("密码错误!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

--  作者:yankunhao
--  发布时间:2012/5/29 14:12:00
--  

我试来试去,都不成功啊,代码如下:

 

Dim r As String =e.Form.Controls("ComboBox1").Value
Dim mm As String =e.Form.Controls("TextBox1").Value
Dim kj As String=e.Form.Controls("TextBox2").Value
Dim dr As DataRow
\'在用户表查找所输入用户名与密码的行
dr = DataTables("用户").Find("[用户] = \'" & r & "\' And [密码] = \'" & mm & "\'")
If dr IsNot Nothing  Then \'如果找到
    If dr("暂停登录")=False Then
        Vars("_UserGroup") =dr("组")
        Vars("部门名称")=dr("部门名称")
        Vars("用户编码")=dr("用户编码")
        Vars("会计期间")=kj
        Tables("登陆")(0)("用户名") = r \'与入当前表第一行用户名列为输入用户名
        Tables("登陆")(0)("会计期间") = kj
        Tables("登陆")(0)("密码")=mm
        Vars("_UserName") = r \'写入全局变量
        e.Form.Close()  \'关闭窗口
        For Each t As Table In Tables
            t.Visible = True
            t.AllowEdit = True
            t.AllowLockRow = True
            t.AllowUnlockRow=True
            t.AllowDelete =True
            t.AllowAddNew=True
            \'For Each c As Col In t.Cols
            \'c.Visible = True
            \'c.AllowEdit = True
            \'Next
        Next
        If Vars("_UserName")="administrator" Then
            Tables("登陆").Visible = True
            Tables("提示").Visible = True
            Tables("用户").Visible = True
            Tables("授权表").Visible = True
        Else
            Tables("登陆").Visible = False
            Tables("提示").Visible = False
            Tables("用户").Visible = False
            Tables("授权表").Visible = False
           
        End If
        If Vars("_UserGroup") <> "程序开发" Then
            For Each dr1 As DataRow In DataTables("授权表").Select("用户名 = \'" & Vars("_UserName")& "\'" )
                If dr1.IsNull("列名") Then
                    Tables(dr1("表名")).Visible = Not dr1("不可见")
                    Tables(dr1("表名")).AllowEdit = Not dr1("不可编辑")
                Else
                    Tables(dr1("表名")).Cols(dr1("列名")).Visible = Not dr1("不可见")
                    Tables(dr1("表名")).Cols(dr1("列名")).AllowEdit = Not dr1("不可编辑")
                End If
                If dr1("可审核")=True Then
                    Tables(dr1("表名")).AllowLockRow = True
                Else
                    Tables(dr1("表名")).AllowLockRow = False
                End If
                If dr1("可反审核")=True Then
                    Tables(dr1("表名")).AllowUnlockRow = True
                Else
                    Tables(dr1("表名")).AllowUnlockRow = False
                End If
                If dr1("不可删除")=True Then
                    Tables(dr1("表名")).AllowDelete = False
                Else
                    Tables(dr1("表名")).AllowDelete = True
                End If
                If dr1("不可复制")=True Then
                    DataTables(dr1("表名")).AllowClipBoard = False
                Else
                    DataTables(dr1("表名")).AllowClipBoard = True
                End If
                If dr1("不可增加")=True Then
                    DataTables(dr1("表名")).AllowAddNew = False
                Else
                    DataTables(dr1("表名")).AllowAddNew = True
                End If
               
            Next
        End If
       
       
       
       
       
        \'For Each rb As RibbonMenu.Tab In RibbonTabs \'RibbonTabs是一个菜单集合,可以用for each遍历的
        \'rb.Visible = True  \'显示菜单
        \'Next
        \'按用户组显示或隐藏菜单项目
        If  Vars("_UserGroup") <> "程序开发" Then
            RibbonTabs("Other")("Export")("QuickExport").Visible = False
            RibbonTabs("Other")("Export")("ToText").Visible = False
            RibbonTabs("Other")("Export")("ToXML").Visible = False
        Else
            RibbonTabs("Other")("Export")("QuickExport").Visible = True
            RibbonTabs("Other")("Export")("ToText").Visible = True
            RibbonTabs("Other")("Export")("ToXML").Visible = True
        End If
       
        e.Form.Close
        Forms("产品规格表").Open
        MainTable=Tables("obas_part_spec") \'登陆成功
        If  Forms("产品规格表").Opened=True Then
            Forms("登陆").BaseForm.Hide
        End If
        \'Dim dr2 As DataRow \'在用户表查找所输入用户名与密码的行
        \'dr2 = DataTables("用户").Find("[用户] = \'" & r & "\'" )
        \'If dr2 IsNot Nothing  Then \'如果找到
        \'If dr("自动登录")=False Then
        \'Return
        \'Else
        \'MainTable=Tables("obas_part_spec")
        \'Tables("物料库存月报表").OpenLoadTree("month_no|wh_name",150,30)
       
        \'End If
        \'End If
       
    Else
        MessageBox.Show("用户已被暂停使用!,请与管理员联系", "提示", MessageBoxButtons.ok, MessageBoxIcon.Error)
        e.Form.Controls("TextBox1").Select() \'将输入焦点移到密码文本框中.
    End If
Else
    MessageBox.Show("用户名或密码错误!", "提示", MessageBoxButtons.ok, MessageBoxIcon.Error)
    e.Form.Controls("TextBox1").Select() \'将输入焦点移到密码文本框中.
End If


--  作者:yankunhao
--  发布时间:2012/5/29 14:20:00
--  

试成功了,登录窗口可以隐藏了,但假设我想隐藏当前窗口的背后表及菜单,有没办法呢?意思是就是只见到模式窗口,当最小化模式窗口或拖动模式窗口时到看不背后的表及菜单..


--  作者:狐狸爸爸
--  发布时间:2012/5/29 15:24:00
--  

开发版发布后的项目,启动之后,就只有登录窗口,不会有后面的菜单。