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实现交叉表非常的简单 ...
随机推荐
- hdu3450
分析:首先要知道有递推公式dp[i] = Sigma(dp[j]),dp[i]表示第i个数结尾的完美子序列的个数,|a[i] - a[j]| <= d,j<i.直接这样做的时间复杂度为n^ ...
- ISO和焦距
要说什么是ISO还要从传统胶片相机说起,ISO称作为感光度,它是衡量传统相机所使用胶片感光速度的国际统一指标,其反映了胶片感光时的速度(其实是银元素与光线的光化学反应速率).而对于现在并不使用胶片的数 ...
- git项目创建
1.在gitserver上创建git项目如图 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill ...
- hihoCoder #1175 : 拓扑排序·二
[题目链接]:click here~~ 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描写叙述 小Hi和小Ho所在学校的校园网被黑客入侵并投放了病毒.这事在校内BBS上立马引 ...
- Android时间轴效果,直接使用在你的项目中
近期开发app搞到历史查询,受腾讯qq的启示,搞一个具有时间轴效果的ui,看上去还能够,然后立即想到分享给小伙伴,,大家一起来看看,先上效果图吧 watermark/2/text/aHR0cDovL2 ...
- ffplay.c函数结构简单分析(绘图)
近期重温了一下FFplay的源码. FFplay是FFmpeg项目提供的播放器演示样例.虽然FFplay不过一个简单的播放器演示样例,它的源码的量也是不少的. 之前看代码,主要是集中于某一个" ...
- [水题]4242 果实计数&&3214 采访对象
4242 果实计数 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 淘淘家有棵奇怪的苹果树,这棵树共有n+1层 ...
- vue cli webstorm
贫富差距的产生 – 目光博客 http://eyehere.net/2017/1947/ https://github.com/vuejs/vue Vue 2.0 Hello World - JSFi ...
- 20170623_oracle备份和恢复_常见问题
1 为什么需要备份?备份分类? 1)故障.迁移.误操作 2)备份分类: 物理与逻辑角度:物理备份.逻辑备份 备份策略角度:完全备份.增量备份.差异备份 2 使用导入导出进行备份和恢复及其四种模式:其他 ...
- Xshell配色方案啊【学习笔记】
自己移植从putty版本移植到Xshell的配色方案,效果不错,看上去挺舒服. [myisayme] text(bold)=eaeaea magenta(bold)=ff55ff text=fffff ...