扫码出入库系统——UI设计
一、项目简介
本次项目为扫码出入库开发上位机控制系统,功能包括扫码、信息管理、与PLC数据交互等功能
前端部分通过C#——winform实现工业软件前端开发
项目使用外接控件sunnyUI基于.NET Framework4.0-4.8
二、UI设计
2.1 登录界面设计
效果展示
登录界面

注册界面

找回密码界面

登录界面通过txtName_TextChanged输入框控件与MySQL数据库交互匹配登录用户信息
2.1系统界面
1.出入库界面
效果展示

重要控件部分代码
相机调用接口
调用 AForge.Video.DirectShow
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| private void uiComboBox2_SelectedIndexChanged(object sender, EventArgs e) { videodevice = new VideoCaptureDevice(videodevices[uiComboBox2.SelectedIndex].MonikerString);
videoSourcePlayer1.VideoSource = videodevice; videoSourcePlayer1.SignalToStop(); videoSourcePlayer1.WaitForStop(); videoSourcePlayer1.Start(); }
private void videoSourcePlayer1_Click(object sender, EventArgs e) { videodevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); if (videodevices.Count != 0) { foreach (FilterInfo device in videodevices) { uiComboBox2.Items.Add(device.Name); } } else { MessageBox.Show("没有找到摄像头!"); }
}
private void uiSymbolButton2_Click_1(object sender, EventArgs e) { videoSourcePlayer1.Stop(); }
|
2资源管理
效果展示

调用数据库,后端处理
3用户管理
效果展示

调用数据库后端处理
通过使用NavMenu菜单导航页面将系统页面进行展示
代码部分:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| private void CreateTreeNode() { int pageIndex = 1000; TreeNode parent2 = Aside.CreateNode("出库&入库", 62094, 22, pageIndex); Aside.CreateChildNode(parent2, "出库&入库", ++pageIndex); Aside.CreateChildNode(parent2, "物资管理", ++pageIndex); Aside.CreateChildNode(parent2, "用户管理", ++pageIndex);
} private void LoadForm(TabControl mainTabControl, string menuText, Type fromType) { Form frm = (Form)Activator.CreateInstance(fromType); frm.Text = menuText; frm.FormBorderStyle = FormBorderStyle.None; frm.TopLevel = false; frm.Dock = DockStyle.Fill;
TabPage StabPage = new TabPage(menuText); StabPage.Font = new Font("宋体", 9F); StabPage.Controls.Add(frm);
mainTabControl.Controls.Add(StabPage); mainTabControl.SelectedTab = StabPage;
frm.Show();
} private void uiNavMenu1_MenuItemClick(TreeNode node, Sunny.UI.NavMenuItem item, int pageIndex) { if (item != null) { string menuText = item.Text; foreach (TabPage tab in MainTabControl2.TabPages) { if (tab.Text == menuText) { MainTabControl2.SelectedTab = tab; return; } } switch (menuText) {
case "出库&入库": LoadForm(MainTabControl2, menuText, typeof(Forms.Form4)); break; case "物资管理": LoadForm(MainTabControl2, menuText, typeof(Forms.Form6)); break; case "用户管理": LoadForm(MainTabControl2, menuText, typeof(Forms.Form7)); break; default: break; }
} }
|
4相机设置界面

5通讯设置界面
