zoukankan      html  css  js  c++  java
  • C# WinForm窗体应用(第四天)

    一、点击登录按钮,将两个窗体进行连接,并进行用户名和密码验证。

     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                 else
    19                 {
    20                     MessageBox.Show("输入密码有误,请重新输入!");
    21                     this.textBox2.Text = "";
    22                 }
    23             }
    24             else
    25             {
    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 Program
    10     {
    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 }
    View Code

     四、限制子窗体不超出父窗体界限

     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进行设置即可(此属性是点击父窗体进行设置)。

  • 相关阅读:
    GRIDVIEW鼠标移动行变色
    如何在网页中实现打字效果
    C#的6种常用集合类
    开发和使用Web用户控件
    C# DataGridView的常用用法
    SQL精妙语句
    Web 调试代理软件-Fiddler
    RegisterStartupScript和RegisterClientScriptBlock的用法
    简单地过一下五个控件(ScriptManager、ScriptManagerProxy、UpdatePanel、 UpdateProgress和Timer
    Android4.0 SDK功能详解
  • 原文地址:https://www.cnblogs.com/pang951189/p/7446398.html
Copyright © 2011-2022 走看看