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实现交叉表非常的简单 ...
随机推荐
- [bzoj 2705][SDOI2012]Longge的问题(数学)
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2705 分析: 设k为n的因数 设f[k]为gcd(x,n)==k的x的个数,容易知道a ...
- 解决canvas跨域问题(图片,视频资源跨域)
添加跨域条件 crossorigin="anonymous" [Redirect at origin 'http://xxx.xx.com' has been blocked ...
- 表单中的日期 字符串和Javabean中的日期类型的属性自动转换
搞了一上午的bug最终还是因为自己springMVC的注解不熟悉的原因,特记录. 在实际操作中经常会碰到表单中的日期 字符串和Javabean中的日期类型的属性自动转换, 而springMVC默认不支 ...
- c++面试问题的几个方向
1 关于多态,面向对象的几个要点作为面向对象的程序员,这个问题是必须要弄清楚的,网上.教科书上都是标准答案,关键是理解内涵哦. 2 关于虚函数表和RTTI 这个Inside C++ Object Mo ...
- HLJU 1188 Matrix (二维树状数组)
Matrix Time Limit: 4 Sec Memory Limit: 128 MB Description 给定一个1000*1000的二维矩阵,初始矩阵中每一个数都为1,然后为矩阵有4种操 ...
- swift 2.0 语法 常量变量
import UIKit /*: 常量变量 * 常量: let * 变量: var 完整格式: * 修饰符(let/var) 常量/变量名称: 数据类型 */ let number: Int var ...
- 【转】Linux 查看CPU信息、机器型号等硬件信息
测试机器的硬件信息: 查看CPU信息(型号) # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 8 Intel(R) Xeo ...
- VC中CString和WPARAM之间的相互转换
在传递自己定义消息的过程中.须要转换CString 变量. 在发送消息端使用例如以下方法: SendMessage(WM_MESSAG_MINE,0,(LPARAM)strVal.AllocSysSt ...
- ZOJ 3209 Treasure Map (Dancing Links 精确覆盖 )
题意 : 给你一个大小为 n * m 的矩形 , 坐标是( 0 , 0 ) ~ ( n , m ) .然后给你 p 个小矩形 . 坐标是( x1 , y1 ) ~ ( x2 , y2 ) , 你选 ...
- 51nod 1642 区间欧拉函数 && codeforce594D REQ
画一下柿子就知道是求区间乘积乘区间内所有质因数的(p-1)/p(就是求欧拉的公式嘛) 看上去莫队就很靠谱然而时间O(nsqrt(n)logn)并不资瓷 还是离线,确定右端点,对于1~i的区间内的质因数 ...