Vb.net Visual Basic,开放式窗体
我正在尝试制作一个程序,要求用户登录,如果输入了正确的用户名和密码,则为该用户打开一个表单。我刚才的做法是用户名存储在一个变量中,我想知道如何在表单名称中使用变量中的文本,例如: UserName=User1然后 FrmUser1.show 用户名=JohnSmith然后 FrmJohnSmith.show 以下是我目前掌握的代码摘录:Vb.net Visual Basic,开放式窗体,vb.net,Vb.net,我正在尝试制作一个程序,要求用户登录,如果输入了正确的用户名和密码,则为该用户打开一个表单。我刚才的做法是用户名存储在一个变量中,我想知道如何在表单名称中使用变量中的文本,例如: UserName=User1然后 FrmUser1.show 用户名=JohnSmith然后 FrmJohnSmith.show 以下是我目前掌握的代码摘录: Dim Path As String = "Account_File.text " Dim Read_File() As String = Fi
Dim Path As String = "Account_File.text "
Dim Read_File() As String = File.ReadAllLines(Path)
Dim NoOfLines As Integer = Read_File.Length
Dim UserName(NoOfLines) As String
Dim Password(NoOfLines) As String
Dim LastNonEmpty As Integer = -1
Dim InputUserName As String = ""
Dim InputPassword As String = ""
If TxtUserName.Text = "" Then
MsgBox("Please enter a username.")
GoTo InvalidDetails
Else
InputUserName = TxtUserName.Text
End If
If TxtPassword.Text = "" Then
MsgBox("Please enter a Password.")
GoTo InvalidDetails
Else
InputPassword = TxtPassword.Text
End If
For i = 0 To NoOfLines
Dim SplitString() As String = Split(Read_File(i))
For j As Integer = 0 To SplitString.Length - 1
If SplitString(j) <> "" Then
LastNonEmpty += 1
SplitString(LastNonEmpty) = SplitString(j)
End If
Next
ReDim Preserve SplitString(LastNonEmpty)
LastNonEmpty = -1
UserName(i) = SplitString(0)
Password(i) = SplitString(1)
Next
For i = 0 To NoOfLines
If UserName(i) = InputUserName And Password(i) = InputPassword Then
frm.show()
Else
MsgBox("Either the username or password is incorrect.")
End If
Next
Dim路径为String=“Account\u File.text”
Dim Read_File()作为字符串=File.ReadAllLines(路径)
Dim NoOfLines As Integer=读取文件长度
将用户名(NoOfLines)设置为字符串
将密码(NoOfLines)设置为字符串
Dim LastNonEmpty作为整数=-1
Dim InputUserName As String=“”
Dim InputPassword As String=“”
如果TxtUserName.Text=”“,则
MsgBox(“请输入用户名”)
转到残疾人医院
其他的
InputUserName=TxtUserName.Text
如果结束
如果TxtPassword.Text=”“,则
MsgBox(“请输入密码”)
转到残疾人医院
其他的
InputPassword=TxtPassword.Text
如果结束
对于i=0到NoOfLines
Dim SplitString()作为字符串=拆分(读取文件(i))
对于j,整数=0表示拆分字符串。长度-1
如果拆分字符串(j)”,则
LastNonEmpty+=1
SplitString(LastNonEmpty)=SplitString(j)
如果结束
下一个
重拨保留拆分字符串(LastNonEmpty)
LastNonEmpty=-1
用户名(i)=拆分字符串(0)
密码(i)=拆分字符串(1)
下一个
对于i=0到NoOfLines
如果用户名(i)=输入用户名和密码(i)=输入密码,则
frm.show()
其他的
MsgBox(“用户名或密码不正确。”)
如果结束
下一个
一些示例代码:
Dim formname = "Form" + TxtUserName.Text
Dim typename = Me.GetType().Namespace + "." + formname
Dim type = Me.GetType().Assembly.GetType(typename)
If type IsNot Nothing Then
Dim form = CType(Activator.CreateInstance(type), Form)
form.Show()
End If
它假定所有窗体都位于同一程序集中并具有相同的命名空间。请记住,你的客户不太可能因为每次有新员工都要打电话给你而感到兴奋。或者,你可能会要求用户名+密码,而不提供Windows登录已经提供的那种安全保证。不要这样做。我从VB6重新标记到VB.Net(变量初始值设定项语法)谢谢,我有时会把2搞错。你有帐户文件中每个用户的自定义表单吗?嗯,我想看看是否有办法在程序运行时动态生成表单,但我可能能够传递username变量,并从适当的文本文件填充单个表单。我的意思是,每个用户都有一个基本密码和一个单独的文本文件,根据用户的身份加载,并使用该文件填充表单上的文本字段等。此外:纯文本密码让我很难过。这只是一个供个人使用的实践程序,我目前正在参加大学学习软件开发。