zoukankan      html  css  js  c++  java
  • C# 窗体 切换、重复显示等遗留问题解决(第五天)

    一、解决同一窗体多次点击重复显示BUG

    (1)点击弹出学校窗体

     1         #region 弹出学校窗体               
     2         /// <summary>
     3         /// 弹出学校窗体
     4         /// </summary>
     5         /// <param name="sender"></param>
     6         /// <param name="e"></param>
     7         private void SchoolToolStripMenuItem_Click(object sender, EventArgs e)
     8         {
     9             //点击后显示SchoolTan这个弹窗
    10             SchoolTan schooltanchuang=new SchoolTan();
    11                    
    12             //this.IsMdiContainer = true;
    13             //WFromMain mainForm = new WFromMain();
    14             //schooltanchuang.MdiParent = this;
    15             /*
    16              *  方法:明确父子关系:
    17                     son form = new Form();
    18                     form.MdiParent = this(father);
    19                     form.show();
    20                     前提是先要设置father窗体
    21                     isMdiContainer = true; 
    22              * **/
    23             if (this.MdiChildren==null||this.MdiChildren.Length==0)
    24             {
    25                 schooltanchuang.Show();
    26                 //让子窗体不超出父窗体界限,给子窗体指定父窗体
    27                 schooltanchuang.MdiParent = this;
    28                 return;
    29             }
    30             bool flag = false;
    31             foreach (var item in this.MdiChildren)
    32             {
    33                 if (item.Text == schooltanchuang.Text)
    34                 {
    35                     schooltanchuang = item as SchoolTan;
    36                     schooltanchuang.Activate();
    37                     flag = true;
    38                     break;
    39                 }
    40             }
    41             if (!flag)
    42             {
    43                 schooltanchuang.Show();
    44                 //给子窗体指定父窗体
    45                 schooltanchuang.MdiParent = this;
    46             }
    47         }
    48         #endregion
    View Code

    (2)弹出商会组织窗体

     1  #region 弹出商会组织窗体               
     2         /// <summary>
     3         /// 弹出商会组织窗体
     4         /// </summary>
     5         /// <param name="sender"></param>
     6         /// <param name="e"></param>
     7         private void ShanghuiToolStripMenuItem_Click(object sender, EventArgs e)
     8         {
     9             //点击弹出重庆商会窗体
    10             ShangHui shang = new ShangHui();
    11             //shang.Show();
    12             //shang.MdiParent = this;
    13             if (this.MdiChildren == null || this.MdiChildren.Length == 0)
    14             {
    15                 shang.Show();
    16                 //让子窗体不超出父窗体界限,给子窗体指定父窗体
    17                 shang.MdiParent = this;
    18                 return;
    19             }
    20             bool flag = false;
    21             foreach (var item in this.MdiChildren)
    22             {
    23                 if (item.Text == shang.Text)
    24                 {
    25                     shang = item as ShangHui;
    26                     shang.Activate();
    27                     flag = true;
    28                     break;
    29                 }
    30             }
    31             if (!flag)
    32             {
    33                 shang.Show();
    34                 //给子窗体指定父窗体
    35                 shang.MdiParent = this;
    36             }
    37         }
    38         #endregion
    View Code

    (3)点击弹出公益组织窗体

     1  #region 点击弹出公益组织窗体               
     2         /// <summary>
     3         /// 点击弹出公益组织窗体
     4         /// </summary>
     5         /// <param name="sender"></param>
     6         /// <param name="e"></param>
     7         private void 公益组织ToolStripMenuItem_Click(object sender, EventArgs e)
     8         {
     9             //点击弹出公益组织窗体
    10             GongYi gongyi = new GongYi();
    11             //gongyi.Show();
    12             //gongyi.MdiParent = this;
    13             if (this.MdiChildren == null || this.MdiChildren.Length == 0)
    14             {
    15                 gongyi.Show();
    16                 //让子窗体不超出父窗体界限,给子窗体指定父窗体
    17                 gongyi.MdiParent = this;
    18                 return;
    19             }
    20             bool flag = false;
    21             foreach (var item in this.MdiChildren)
    22             {
    23                 if (item.Text == gongyi.Text)
    24                 {
    25                     gongyi = item as GongYi;
    26                     gongyi.Activate();
    27                     flag = true;
    28                     break;
    29                 }
    30             }
    31             if (!flag)
    32             {
    33                 gongyi.Show();
    34                 //给子窗体指定父窗体
    35                 gongyi.MdiParent = this;
    36             }
    37         }
    38         #endregion      
    View Code

    二、关闭所有的运行环境操作

     1       /// <summary>
     2         /// 关闭运行环境
     3         /// </summary>
     4         /// <param name="sender"></param>
     5         /// <param name="e"></param>
     6         private void 关闭全部窗体ToolStripMenuItem_Click(object sender, EventArgs e)
     7         {
     8             //关闭运行环境
     9             Environment.Exit(0);
    10         }    

    三、右键菜单关闭所有弹窗(右键菜单有多个选项时的情况)

     1 private void CloseAllToolStripMenuItem_Click(object sender, EventArgs e)
     2         {
     3  
     4              int len = this.MdiChildren.Length;
     5              for (int i = 0; i <len ; i++)
     6              {
     7                  Form frm = this.MdiChildren[0];
     8                  frm.Close();
     9              }
    10          }

     四、获取radiobatton的text值的方法

     1  private void btnNanNv_Click(object sender, EventArgs e)
     2         {
     3             string checkedRBName = "";
     4 
     5             //取得选中单选按钮的名称  
     6             if (radioButtonMan.Checked)
     7             {
     8                 checkedRBName = radioButtonMan.Name;
     9                 string textNan = radioButtonMan.Text;
    10                 MessageBox.Show("这是选中了"+textNan);
    11             }
    12             else if (radioButtonGirl.Checked)
    13             {
    14                 checkedRBName = radioButtonGirl.Name;
    15                 string textNv = radioButtonGirl.Text;
    16                 MessageBox.Show("这是选中了"+ textNv);
    17                 //获得和radioButton按钮对应标签的内容,用的是 radioButton2.Text属性;  
    18 
    19             }
    20             
    21             MessageBox.Show(checkedRBName + " was checked."); 
    22         }
  • 相关阅读:
    201571030114/201571030143《小学四则运算练习软件》结对项目报告
    201571030114随机四则运算
    略读构建之法
    使用staruml学习画类图
    了解面向对象方法学的优点
    做项目的感受和心得
    项目:学生查看自己的作业情况和分数(php)
    php操作数据库的简单示例
    学习使用html与css,并尝试写php
    html和css的联系
  • 原文地址:https://www.cnblogs.com/pang951189/p/7449980.html
Copyright © 2011-2022 走看看