{
public LoginUserInfo(){}
private static string _UserName
public string UserName
{
get{return _UserName}
set{_UserName=value}
}
}
登陆的时候把值赋值给 LoginUserInfo.UserName="Admin"
在登陆后窗口显示 lblUserName.Text=LoginUserInfo.UserName
没用VS测试,你自己能明白大概流程就能写出来了。
就是建立一个类,里面具有静态属性,用户名、别名、权限等
在程序任何地方只要引用LoginUserInfo这个类的地方,就可以轻松访问到当前登陆的用户。
有问题请追问。望采纳
首先你要明白程序都是从Main方法入口的。这里即Program.cs 内的Main方法。在Main方法内首先实例化登录窗体(frmLogin),然后ShowDialog()显示登录窗体了。这里的ShowDialog()方法是模态对话框。并判断返回的状态,此时线程就会阻塞在这个if判断这个位置,等到frmLogin窗体返回结果。如:
if (frmLogin.ShowDialog() == DialogResult.OK)
{
Application.Run(new frmMain())
}
你只需要在验证登录成功的代码里加上 this.DialogResult = DialogResult.OK
这时Main方法里刚阻塞在if判断位置的条件成立了,将会执行Application.Run(new frmMain())来启动主窗体了。
解释有点啰嗦,贴上代码会更清楚。涉及到Program.cs和登录的后台代码frmLogin.cs
Program.cs
using System
using System.Collections.Generic
using System.Linq
using System.Windows.Forms
namespace DBDataDistributionClient
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles()
Application.SetCompatibleTextRenderingDefault(false)
frmLogin frmLogin = new frmLogin()
if (frmLogin.ShowDialog() == DialogResult.OK)
{
Application.Run(new frmMain())
}
}
}
}
frmLogin.cs
using System
using System.Collections.Generic
using System.Linq
using System.Windows.Forms
namespace DBDataDistributionClient
{
public partial class frmLogin : Form
{
public frmLogin()
{
InitializeComponent()
}
//登录按钮事件
private void btnLogin_Click(object sender, EventArgs e)
{
if(...) //用户名密码验证正确
{
this.DialogResult = DialogResult.OK// 返回ok Main主程序就会启动主界面了。
this.Close()//关闭登录窗体
}
}
}
}
不明白的地方 可以继续提问。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)