C# WinForm窗体应用(第四天)
来源:互联网 发布:走心机编程 编辑:程序博客网 时间:2024/05/17 21:05
一、点击登录按钮,将两个窗体进行连接,并进行用户名和密码验证。
1 /// <summary> 2 /// 登录设置 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void btnLogin_Click(object sender, EventArgs e) 7 { 8 string userName = this.textBox1.Text; 9 string pwd = this.textBox2.Text;10 if(userName=="haha"){11 if(pwd=="123456"){12 MessageBox.Show("登陆成功!");13 //链接两个页面14 WFromMain mainWindow = new WFromMain();15 mainWindow.Show();//展示WFromMain此窗体16 this.Hide();//隐藏Form1窗体17 }18 else19 {20 MessageBox.Show("输入密码有误,请重新输入!");21 this.textBox2.Text = "";22 }23 }24 else25 {26 MessageBox.Show("用户不存在!");27 this.textBox1.Text = "";28 this.textBox2.Text = "";29 }30 }
二、在同一个解决方案中调用不同窗体的方法
在如下位置进行修改,并且切换调用即可:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Threading.Tasks; 5 using System.Windows.Forms; 6 7 namespace WindowsFormLogin01 8 { 9 static class Program10 {11 /// <summary>12 /// 应用程序的主入口点。13 /// </summary>14 [STAThread]15 static void Main()16 {17 Application.EnableVisualStyles();18 Application.SetCompatibleTextRenderingDefault(false);19 Application.Run(new Form1());20 }21 }22 }
针对不同的窗体,要切换时对 Application.Run(new Form1()); 这一行的 Form1 进行修改即可。
三、项目实现代码(暂存)
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Threading.Tasks; 9 using System.Windows.Forms; 10 11 namespace WindowsFormsDemo1 12 { 13 public partial class FrmMain1 : Form 14 { 15 public FrmMain1() 16 { 17 InitializeComponent(); 18 } 19 20 private void 保存ToolStripMenuItem_Click(object sender, EventArgs e) 21 { 22 MessageBox.Show("保存操作"); 23 } 24 25 private void EditToolStripMenuItem_Click(object sender, EventArgs e) 26 { 27 MessageBox.Show("编辑操作"); 28 } 29 30 private void AddEmloyeeToolStripMenuItem_Click(object sender, EventArgs e) 31 { 32 // MessageBox.Show("添加员工操作"); 33 FrmAddEmployee addEmployee = new FrmAddEmployee(); 34 35 //判断 是否有子窗体 36 if (this.MdiChildren == null || this.MdiChildren.Length == 0) { 37 addEmployee.Show(); 38 addEmployee.MdiParent = this;//给子窗体 指定 主窗体 39 return; 40 } 41 42 bool flag = false; 43 foreach (var item in this.MdiChildren) 44 { 45 if (item.Text == addEmployee.Text) { 46 addEmployee = item as FrmAddEmployee; 47 addEmployee.Activate(); 48 flag = true; 49 break; 50 } 51 } 52 if (!flag) { 53 addEmployee.Show(); 54 addEmployee.MdiParent = this;//给子窗体 指定 主窗体 55 } 56 } 57 58 /// <summary> 59 /// 弹出修改窗体 60 /// </summary> 61 /// <param name="sender"></param> 62 /// <param name="e"></param> 63 private void ModifyEmployeeToolStripMenuItem_Click(object sender, EventArgs e) 64 { 65 FrmModifyEmployee modifyEmployee = new FrmModifyEmployee(); 66 67 if (this.MdiChildren == null || this.MdiChildren.Length == 0) 68 { 69 modifyEmployee.Show(); 70 modifyEmployee.MdiParent = this;//给子窗体 指定 主窗体 71 return; 72 } 73 bool f = false; 74 foreach (var item in this.MdiChildren) 75 { 76 if (modifyEmployee.Text == item.Text) { 77 modifyEmployee = item as FrmModifyEmployee; 78 modifyEmployee.Activate(); 79 f = true; 80 break; 81 } 82 } 83 84 if (!f) { 85 modifyEmployee.Show(); 86 modifyEmployee.MdiParent = this; 87 } 88 89 } 90 91 private void FrmMain1_FormClosing(object sender, FormClosingEventArgs e) 92 { 93 Environment.Exit(0);//关闭整个运行环境 94 95 } 96 97 private void CloseAllToolStripMenuItem_Click(object sender, EventArgs e) 98 { 99 100 int len = this.MdiChildren.Length;101 for (int i = 0; i <len ; i++)102 {103 Form frm = this.MdiChildren[0];104 frm.Close();105 }106 }107 }108 }
四、限制子窗体不超出父窗体界限
1 private void SchoolToolStripMenuItem_Click(object sender, EventArgs e) 2 { 3 //点击后显示SchoolTan这个弹窗 4 SchoolTan schooltanchuang=new SchoolTan(); 5 schooltanchuang.Show(); 6 //让子窗体不超出父窗体界限 7 this.IsMdiContainer = true; 8 WFromMain mainForm = new WFromMain(); 9 schooltanchuang.MdiParent = this;10 /*11 * 方法:明确父子关系:12 son form = new Form();13 form.MdiParent = this(father);14 form.show();15 前提是先要设置father窗体16 isMdiContainer = true; 17 * **/18 }
五、鼠标点击右键弹出菜单,并全部关闭弹出所有窗口。
1 private void 关闭全部窗体ToolStripMenuItem_Click(object sender, EventArgs e)2 {3 Environment.Exit(0);4 }
并将右边属性菜单的contextMenuStrip进行设置即可(此属性是点击父窗体进行设置)。
阅读全文
0 0
- C# WinForm窗体应用(第四天)
- C# WinForm窗体应用(第四天)
- C# Winform 窗体美化(目录)
- C# Winform 窗体美化(八、Icon)
- C# WinForm窗体间传值
- C# winform 窗体打印
- C# WinForm窗体间传值
- C# Winform 等待窗体
- C# Winform窗体间传值
- C# Winform 窗体间传值
- C# winform 窗体间传值
- C# winform 重启主窗体
- C# WinForm窗体间传值
- C# WinForm 窗体 自适应
- C# winform 等待窗体
- C# winform 半透明窗体
- winform窗体的应用
- c# winform窗体重复打开解决方法(非容器窗体)
- 链表中环的入口节点
- 一种C#的插件式实现(二)_从dll中读取插件信息
- c++ 内存管理
- C++ String类的构造函数、拷贝构造函数的实现
- ubuntu(linux)文件系统分区调整(可以解决根目录空间不足,而/home空间比较大的情况)
- C# WinForm窗体应用(第四天)
- 【学生信息管理系统】3021错误原因及解决办法
- 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数
- Apache Kafka监控之KafkaOffsetMonitor
- 新一代打包神器Walle(瓦力)使用小结
- 安装ROS的方法和几个注意事项
- KMP算法
- php充值页面写法
- NKOJ 2244 奶牛阵列(KMP+Hash)