C# 窗体 切换、重复显示等遗留问题解决(第五天)
一、解决同一窗体多次点击重复显示BUG
(1)点击弹出学校窗体
#region 弹出学校窗体
/// <summary>
/// 弹出学校窗体
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void SchoolToolStripMenuItem_Click(object sender, EventArgs e)
{
//点击后显示SchoolTan这个弹窗
SchoolTan schooltanchuang=new SchoolTan(); //this.IsMdiContainer = true;
//WFromMain mainForm = new WFromMain();
//schooltanchuang.MdiParent = this;
/*
* 方法:明确父子关系:
son form = new Form();
form.MdiParent = this(father);
form.show();
前提是先要设置father窗体
isMdiContainer = true;
* **/
if (this.MdiChildren==null||this.MdiChildren.Length==)
{
schooltanchuang.Show();
//让子窗体不超出父窗体界限,给子窗体指定父窗体
schooltanchuang.MdiParent = this;
return;
}
bool flag = false;
foreach (var item in this.MdiChildren)
{
if (item.Text == schooltanchuang.Text)
{
schooltanchuang = item as SchoolTan;
schooltanchuang.Activate();
flag = true;
break;
}
}
if (!flag)
{
schooltanchuang.Show();
//给子窗体指定父窗体
schooltanchuang.MdiParent = this;
}
}
#endregion
(2)弹出商会组织窗体
#region 弹出商会组织窗体
/// <summary>
/// 弹出商会组织窗体
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ShanghuiToolStripMenuItem_Click(object sender, EventArgs e)
{
//点击弹出重庆商会窗体
ShangHui shang = new ShangHui();
//shang.Show();
//shang.MdiParent = this;
if (this.MdiChildren == null || this.MdiChildren.Length == )
{
shang.Show();
//让子窗体不超出父窗体界限,给子窗体指定父窗体
shang.MdiParent = this;
return;
}
bool flag = false;
foreach (var item in this.MdiChildren)
{
if (item.Text == shang.Text)
{
shang = item as ShangHui;
shang.Activate();
flag = true;
break;
}
}
if (!flag)
{
shang.Show();
//给子窗体指定父窗体
shang.MdiParent = this;
}
}
#endregion
(3)点击弹出公益组织窗体
#region 点击弹出公益组织窗体
/// <summary>
/// 点击弹出公益组织窗体
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void 公益组织ToolStripMenuItem_Click(object sender, EventArgs e)
{
//点击弹出公益组织窗体
GongYi gongyi = new GongYi();
//gongyi.Show();
//gongyi.MdiParent = this;
if (this.MdiChildren == null || this.MdiChildren.Length == )
{
gongyi.Show();
//让子窗体不超出父窗体界限,给子窗体指定父窗体
gongyi.MdiParent = this;
return;
}
bool flag = false;
foreach (var item in this.MdiChildren)
{
if (item.Text == gongyi.Text)
{
gongyi = item as GongYi;
gongyi.Activate();
flag = true;
break;
}
}
if (!flag)
{
gongyi.Show();
//给子窗体指定父窗体
gongyi.MdiParent = this;
}
}
#endregion
二、关闭所有的运行环境操作
/// <summary>
/// 关闭运行环境
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void 关闭全部窗体ToolStripMenuItem_Click(object sender, EventArgs e)
{
//关闭运行环境
Environment.Exit();
}
三、右键菜单关闭所有弹窗(右键菜单有多个选项时的情况)
private void CloseAllToolStripMenuItem_Click(object sender, EventArgs e)
{ int len = this.MdiChildren.Length;
for (int i = ; i <len ; i++)
{
Form frm = this.MdiChildren[];
frm.Close();
}
}
四、获取radiobatton的text值的方法
private void btnNanNv_Click(object sender, EventArgs e)
{
string checkedRBName = ""; //取得选中单选按钮的名称
if (radioButtonMan.Checked)
{
checkedRBName = radioButtonMan.Name;
string textNan = radioButtonMan.Text;
MessageBox.Show("这是选中了"+textNan);
}
else if (radioButtonGirl.Checked)
{
checkedRBName = radioButtonGirl.Name;
string textNv = radioButtonGirl.Text;
MessageBox.Show("这是选中了"+ textNv);
//获得和radioButton按钮对应标签的内容,用的是 radioButton2.Text属性; } MessageBox.Show(checkedRBName + " was checked.");
}
C# 窗体 切换、重复显示等遗留问题解决(第五天)的更多相关文章
- c# winform中窗体切换后释放及防止重复生成
问题1:窗体切换后如何关闭,并释放资? c# winform中,2个窗体,form1和form2,互相切换的时候执行 this.Hide(); Form2 form2 = new Form2(); f ...
- 单件模式Singleton来控制窗体被重复或多次打开
本文转载:http://blog.csdn.net/a0700746/article/details/4473796 一般在百度搜一下,会出来一下内容,看来很好用.Singleton很方便的一个用处就 ...
- IOS之TableViewCell重用机制解决上下刷新重复显示
首先我是一个经验浅薄的iOS开发人员,这个问题想必许多初学者经常遇到这些问题,在面试中也会经常问到.现在我们一一解决. 首先我们要知道TableViewCell重用机制的原理是什么,我们抽象的理解为古 ...
- 在SSRS的每一页重复显示table header
现在在做一个关于SSRS报表展示的项目,但是我困顿在如何在table的每一页让table header重复显示.因为我在table属性中勾选了"Report header columns o ...
- 如何实现MDI窗体不重复打开同一个子窗体?
使用MDI窗体时,默认是可以多次打开同一个子窗体的,那么如何控制不重复打开同一个子窗体呢?MDI窗体有个重要属性——MdiChildren,该属性表示MDI窗体打开的子窗体的数组,循环遍历该数组,可以 ...
- 在Bootstrap开发中解决Tab标签页切换图表显示问题
在做响应式页面的时候,往往需要考虑更多尺寸设备的界面兼容性,一般不能写死像素,以便能够使得界面元素能够根据设备的不同进行动态调整,但往往有时候还是碰到一些问题,如Tab标签第一页面正常显示,但是切换其 ...
- c#在panel或groupbox中添加窗体,实现点击不同按钮或combox时panel中窗体切换,在xtratabcontrol中添加窗体
参考panel添加窗体: http://blog.csdn.net/illegalname/article/details/65444249 http://blog.csdn.net/Eastmoun ...
- WPF最小化窗体后激活函数显示不了窗体
WPF最小化窗体后激活函数显示不了窗体 今天测试小哥给我提了一些问题,其中一个问题是这样的,点击web端的一个链接,是能启动本地的一个应用程序的,如果本地应用程序已启动(通过tcp进程间通信),那么应 ...
- DevExpress XtraPivotGrid 交叉表 重复显示问题
转自:http://www.cnblogs.com/xiayan/archive/2011/11/04/2236389.html 最近发现xtrareport 的PivotGrid实现交叉表非常的简单 ...
随机推荐
- 五语言学习系列 C,C++,Objective-C,Java,C# (一)历史
C:由AT&T贝尔实验室的Dennis Ritchie于1972年创建的,是专为开发者设计的语言. C++:在C基础上,1983年又由贝尔实验室的Bjarne Strou-strup推出了C+ ...
- 这段百度问答,对我相关有对啊!!!----如何获取Windows系统登陆用户名
如何获取Windows系统登陆用户名 http://zhidao.baidu.com/link?url=Hva9PkVwYZv8KSEWftSqTWe8fqM1dhoq59BurnfADmcOvFjF ...
- 洛谷—— P1339 [USACO09OCT]热浪Heat Wave
P1339 [USACO09OCT]热浪Heat Wave 题目描述 The good folks in Texas are having a heatwave this summer. Their ...
- CH上的Think Bear#1模拟赛
题目:http://www.contesthunter.org/contest/CH%20Round%20%2352%20%20Thinking%20Bear%20%231%20(NOIP%E6%A8 ...
- AbstractList 重写 equals() 方法
题目内容 题目内容很简单,就是创建 ArrayList 和 Vector 集合,向两者添加相同内容的字符串,最后用 equals() 方法比较是否相等. 这里就考察了 "==" 和 ...
- Spring Boot配置文件规则以及使用方法官方文档查找以及Spring项目的官方文档查找方法
比如要使用Spring Boot实现一个功能,最直接的方式是Google,但是往往搜索出来的都比较乱,关键是乱在不同的版本上,比如1.x版本和2.x版本的配置是不一样的.最明显区别是在使用Thymel ...
- Username is not in the sudoers file. This incident will be reported
type sudo adduser <username> sudo where username is the name of the user you want to add in th ...
- win7下安装SQLSERVER2000
来自为知笔记(Wiz)
- uva 11212 - Editing a Book(迭代加深搜索 IDA*) 迭代加深搜索
迭代加深搜索 自己看的时候第一遍更本就看不懂..是非常水,但智商捉急也是没有办法的事情. 好在有几个同学已经是做过了这道题而且对迭代加深搜索的思路有了一定的了解,所以在某些不理解的地方询问了一下他们的 ...
- 两种Linux下非交互式命令的实现
一.概述 在Linux环境,有多种实现自己主动化的脚本语言.如Shell.Python.Perl.Tcl等. Shell语言因与Shell外壳结合紧密,是最常见的实现自己主动化的脚本语言. 同一时候, ...