Lost !

-----hard working for the furture.

导航

统计

winform简单验证

winform简单验证:
----------------公共类:------------------------

public class BaseForm : Form
{
public string CurrentUser { set; get; }

}

主界面MainFrm.cs:

复制代码
public partial class MainFrm : BaseForm
{
public MainFrm()
{
InitializeComponent();
//tsl_CurrentUser.Text = CurrentUser ?? string.Empty;
}

private void MainFrm_Load(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(CurrentUser))
{
this.Hide();
LoginFrm lf = new LoginFrm();
DialogResult dr = lf.ShowDialog();
if (dr == DialogResult.OK)
{
this.Show();
this.CurrentUser = lf.username;
tsl_CurrentUser.Text = CurrentUser;
}
}

}
}
复制代码



LoginFrm.cs:

复制代码
public partial class LoginFrm : Form
{
public LoginFrm()
{
InitializeComponent();
}

public string username { get; set; }
private void btn_ok_Click(object sender, EventArgs e)
{
username = txtname.Text.Trim();
string password = txtpass.Text.Trim();
if (username == "admin" && password == "admin888")
{
  this.DialogResult = DialogResult.OK;
  this.username = "admin";
}
else
{
   MessageBox.Show("账号密码错误,请重新登录!");
}
}
}
复制代码

 

TreeView....
================

复制代码
public MainFrm()
{
InitializeComponent();
//tsl_CurrentUser.Text = CurrentUser ?? string.Empty;
}

private void MainFrm_Load(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(CurrentUser))
{
this.Hide();
LoginFrm lf = new LoginFrm();
DialogResult dr = lf.ShowDialog();
if (dr == DialogResult.OK)
{
this.Show();
this.CurrentUser = lf.username;
tsl_CurrentUser.Text = CurrentUser;
}
}

// this.treeView1.Nodes.Add(new TreeNode() { Text="", });

string connstr = ConfigurationManager.AppSettings["connstr"];
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
if (conn.State == ConnectionState.Open)
{
string sql = "select * from T_menu";
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
//DataTable dt = new DataTable();
sda.Fill(dt);
foreach (DataRow dr in dt.Select("Pid=0"))
{
TreeNode tn = new TreeNode("菜单管理");
tn.Text = dr["id"].ToString() + "." + dr["BigName"].ToString();
tn.Expand();
AppendChild(tn, dr["id"].ToString());
this.treeView1.Nodes.Add(tn);
}

}

}
DataTable dt = new DataTable();
// 递归绑定数据
private void AppendChild(TreeNode tnParent, string pid)
{
string filter = string.Format("Pid={0}", pid);
DataRow[] drs = dt.Select(filter);
foreach (DataRow dr in drs)
{
TreeNode tn = new TreeNode();
tn.Text = dr["id"].ToString() + "--" + dr["BigName"].ToString();
AppendChild(tn, dr["id"].ToString());
tnParent.Nodes.Add(tn);
}

}
复制代码

 

测试数据:

1 系统管理 0
2 基础数据 0
3 仓库管理 0
4 调度管理 0
5 资产管理 0
6 订单更改 0
7 车间生产 0
8 任务令管理 0
9 质量控制 0
10 标签打印 0
11 成品逆向打印 0
12 发货管理 0
13 报表管理 0
14 试制任务管理 0
15 通用查询 0
16 系统信息维护 1
17 角色信息维护 1
18 个人信息维护 1
19 密码管理 1
20 组别管理 1
21 系统参数管理 1
22 系统文件管理 1
23 数据字典 2
24 仓库管理 2
25 区域管理 2
26 货位管理 2
27 物料管理 2
28 客户数据管理 2
29 任务令下载 8
30 排产 8
31 FQC 8
32 任务令条码打印 8
33 任务令查询 8

 

posted on   失落''80  阅读(100)  评论(0编辑  收藏  举报

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示