用C#编的窗体应用程序,要实现用户登陆后,例如用户名为123 ,能够在下一个窗体中显示欢迎123,怎么实现?

用C#编的窗体应用程序,要实现用户登陆后,例如用户名为123 ,能够在下一个窗体中显示欢迎123,怎么实现?,第1张

public class LoginUserInfo()

{

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()//关闭登录窗体

}

不明白的地方 可以继续提问。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11324473.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存