C#中判断子窗体是否存在】的更多相关文章

可在父窗体中定义一个全局变量 public static Form form; 然后在秀出子窗体的点击事件中增加加下代码 if (form == null) { //窗体不存在时,实例化子窗体,并显示出来,CurrentBalance为子窗体名 form = new CurrentBalance(); form.Show(); } else { //窗体已经存在时,激活窗体 form.Activate(); } //在子窗体的FormClosing事件中,加入如下代码,清空父窗体中的form变量…
/// <summary> /// 嵌入子窗体,判断子窗体是否打开了 /// </summary> public static Form1 f; public void Form1Show() { if (f == null || f.IsDisposed) { f = new Form1 { WindowState = FormWindowState.Maximized, FormBorderStyle = FormBorderStyle.None, TopLevel = fal…
C#WinForm父级窗体内Panel容器中嵌入子窗体.程序主窗体设计例子 在项目开发中经常遇到父级窗体嵌入子窗体所以写了一个例子程序,顺便大概划分了下界面模块和配色,不足之处还望指点 主窗体窗体采用前面一篇博客设计扁平化窗体 C#自定义Winform无边框窗体 主要思路 this.IsMdiContainer=true;//设置父窗体是容器 Son mySon=new Son();//实例化子窗体 mySon.MdiParent=this;//设置窗体的父子关系 mySon.Parent=pn…
场景:在mid加载子窗体的时候如果指定WindowState为Maximized,加载完成后主窗体会显示最大化.最小化.关闭的按钮图标. 解决方法: 1.更改主窗体FormMain的属性.制定MainMenuStrip的属性为menuStrip1控件.menuStrip1控件就是主窗体上的菜单栏. 2.在menuStrip1控件的ItemAdded事件中添加一下代码: private void menuStrip1_ItemAdded(object sender, ToolStripItemEv…
“用MDI方式打开一个子窗口体后,总是不能最大化显示,明明子窗口体的WindowState设置为Maximized?”,相信有很多人会遇到这的样问题,请按下面的方法设置即可使MDI子窗体最大化: 1.把父窗体的IsMdiContainer设置为True:2.把子窗体的WindowState设置为Normal:3.在父窗体中用下面的方法打开子窗体:private void menuItemsMdiForm_Click(object sender, EventArgs e){     MyChild…
“用MDI方式打开一个子窗口体后,总是不能最大化显示,明明子窗口体的WindowState设置为Maximized?”,相信有很多人会遇到这的样问题,请按下面的方法设置即可使MDI子窗体最大化: 1.把父窗体的IsMdiContainer设置为True:2.把子窗体的WindowState设置为Normal:3.在父窗体中用下面的方法打开子窗体:private void menuItemsMdiForm_Click(object sender, EventArgs e){     MyChild…
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script src="../../../Scripts/jquery.js" type="text/javascript" language="javascript"></sc…
    Delphi中实现MDI子窗体 用MDI实现浏览子窗口,具有窗口管理功能,同屏观看多个网页的内容  ① 多文档窗体(MDI) MDI窗体是一种具有主子结构的窗体体系,微软的Word便是其中的一个典型例子.MDI体系中至少需要两种窗体,只能将其中之一设置为主窗体,其余窗体全部则全部为子窗体,主窗体负责子窗体的管理.切换等工作.自然,子窗体上承载的内容可各不相同.Tidy浏览器最终实现了三种不同的窗体:主窗体.浏览子窗体.源代码子窗体.  ② 设置窗体类型  我们通过窗体的FormStyle…
今天的工作中突然用到这个了,不过以前没有接触过呢!不过,在有经验的同事的帮助下,这个问题也很快解决了.具体可以分为以下几种方式: 1.在父窗体中构造子窗体对象时,将父窗体传递过去: 如:FrmSub frm=new FrmSub(this);//this代表父窗体 2.将父窗体中要访问的变量和方法修改为public 3.在子窗体类中定义一个父窗体的全局变量: 如:private dynamic m_parentContainer;//使用dynamic可以动态的识别该变量的类型 4.添加引用Mi…
网络上有几种方法,先总结如下: 调用窗体(父):FormFather,被调用窗体(子):FormSub. 方法1: 所有权法       //FormFather:        //需要有一个公共的刷新方法       public void Refresh_Method()        {                //...        }        //在调用FormSub时,要把FormSub的所有者设为FormFather        FormSub f2 = new…
前言 本文主要讲解 xtraTabbedMdiManager 如何将关闭子窗体改为收回主窗体内,顺便附上Float(浮动)的时候使窗体最大化,及指定只能某一个子窗体能浮动放大. 下面进入正题. 一.首先讲解,如何设置允许 拖动xtraTabbedMdiManager中的Page标题及双击Page标题都可以Float(浮动) 1.设置xtraTabbedMdiManager中的子窗体允许拖动Page标题实现浮动 右击xtraTabbedMdiManager选择属性,找到 FloatOnDrag属性…
DELPHI中MDI子窗口的关闭 和打开       Delphi中MDI子窗口的关闭方式默认为缩小而不是关闭,所以当你单击子窗口右上角的关闭按钮时会   发觉该子窗口只是最小化,而不是你预期的那样被关闭.解决办法是在子窗口的OnClose事件处理过程中   加入如下代码,示例:   procedure ChildForm.OnClose(Sender: TObject; var Action: TCloseAction); begin    Action := caFree; end;   …
Delphi中MDI子窗口的关闭方式默认为缩小而不是关闭,所以当你单击子窗口右上角的关闭按钮时会发觉该子窗口只是最小化,而不是你预期的那样被关闭.解决办法是在子窗口的OnClose事件处理过程中加入如下代码,示例: procedure ChildForm.OnClose(Sender: TObject; var Action: TCloseAction);begin   Action := caFree;end; Delphi为一个Form的关闭行为指定了四种方式,分别是: caNone 禁止F…
方法1:所有权法 父窗体:Form1    子窗体:Form2 //Form1:窗体代码 //需要有一个公共的刷新方法 public void Refresh_Method() { //... } //在调用Form2时,要把Form2的所有者设为Form1 Form2 f2 = new Form2() ; f2.Owner = this; f2.ShowDialog() ; //Form2:窗体代码 //在需要对其调用者(父)刷新时 Form1 f1 ; f1 = (Form1)this.Ow…
一个MDI文本文件编辑器打开了N个子窗体子窗体的.pas文件有一些public的过程和函数我想在父窗体调用当前活动的子窗体函数我用Self.ActiveChildForm无法调用直接frmEdit.xxxx运行出错求大家指导,谢谢! 回复于: 2013-01-21 15:31:31 将子窗口的函数定义为类函数calss function a(const s: string): Boolean;   有两种解决办法,一种就是上楼说的,定义成class function静态方法,第二种就是普通的方法…
下边是在子线程打开子窗口,结果跑到else 里边了跨线程操作窗体控件InvokeRequired失效,无法用于打开子窗体,addonetwo.InvokeRequired,访问不了呢? 大神知道帮忙回答一下? //if (addonetwo.InvokeRequired) //{ // addonetwo.Invoke(new MethodInvoker(delegate // { // addonetwo.Owner = this; // addonetwo.Show(); // })); /…
很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件.相比较而言,后面稍微简单一些,只要在主窗体中创建子窗体的时候,保留所创建子窗体对象即可. 下面重点介绍前一种,目前常见的有两种方法,基本上大同小异: 第一种,在主窗体类中定义一个静态成员,来保存当前主窗体对象,例如: public static yourMainWindow pCurrentWin = null; 然后在主窗体构造函数中,给静态成员初始化,如下: pCurrentWin = this; 那么在子窗体…
先实例化子窗体jobForm,然后让 jobForm.TransfEvent += job_TransfEvent;显示子窗体 if (jobForm.DialogResult != DialogResult.OK) return; thisjob.JobName = jobNameBx.Text; } 判断子窗体是否点击确定按钮,不是则返回,是则进行传值 子窗体把文件名name传给父窗体. this.DialogResult = DialogResult.OK; this.Close(); 点…
winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体,搜集了几个方法,列举如下: 一 . 所有权法 父窗体,名称为“fuForm”,在父窗体中有个公共刷新方法,也就是窗体数据初始化方法.如: public void reLoad_method() { //窗体数据初始化方法,fuForm_Load中的全部操作,调用此方法可实现数据的刷新 } fuForm中打开ziForm时需要设置所有者,就是ziForm的所有者是fuForm,代码如下: ziForm _ziForm =…
原理:利用委托和事件,本文将以图文并茂的例子讲述,告诉我们So Easy ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 一.窗体展示 首先我们看到是一个父窗体和…
原理:利用委托和事件,本文将以图文并茂的例子讲述,告诉我们So Easy ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 一.窗体展示 首先我们看到是一个父窗体,…
大家好 说起子窗体,大家都会想到ChildWindow,多熟悉的一个控件.不错,Sliverlight中已经提供了子窗体的具体实现,而在WPF中却没有这么好的事情(有的第三方控件商已经提供此控件).最常见的实现方法就是在ViewModel中,直接New ChildWindow,然后直接Show.这样的方法也达到的要求.但是它不符合MVVM分层思想,再就是代码不美观,难以维护,今天我就给大家介绍一种美观又实用的方法. 原理 通过Prism中提供的InteractionRequestTrigger事…
子窗体显示在任务栏时, procedure Tfrm_SendSmartMsg.CreateParams(var Params: TCreateParams);begin  inherited;  Params.WndParent := 0; end; 这时子窗体会在任务栏有单独的按钮,如果这时这个子窗体上又要加一个弹出窗体,如果是普通窗体会把整个应用程序激活,而导致这个子窗体跑到后面去. 把下面一句加到这个弹窗中可解决. procedure Tfrm_MonthCalender.CreateP…
在DLL动态链接库中封装VCL的MDI子窗体不多说了,看代码就应该明白了,曾经我遇到的问题,现在放出来大家共享! 这里是工程文件的部分: 在DLL中封装MDI子窗体需要重写DLL入口函数,具体代码如下: var DllApp: TApplication;//定义保存原DLL的TApplication对象 DllScr: TScreen;//定义保存原DLL的TScreen对象 procedure UnProcDll(Reason: Integer); register;//重新定义DLL入口函数…
在父窗体里定义委托 public delegate void inis(string str); 在父窗体中定义要调用的方法 public void inigs(string gs) { textBox1.Text = gs; } 在new窗体的时候传递委托  (我这里form4是父窗体 form5是子窗体) inis i = new inis(inigs); Form5 f5 = new Form5(i); f5.Show(); 在新窗体中接收 Form4.inis ii; List<stri…
如何将一个窗体显示到一个容器控件中,刚开始想的比较简单,用窗体容器控件添加一般控件的方法,试了一试,代码如下: Form2 frm = new Form2(); this.panel1.Controls.Add(frm); frm.Show(); 但是提示了一个错误:无法将顶级控件添加到控件. 原来窗体是一个顶级控件,是无法将一个顶级控件添加到一个容器中来的.最后在网上找了相关资料,只需要将代码改下即可,还是原来的思路,代码如下: Form2 frm = new Form2(); frm.Top…
子窗体(Win_Set): MainWindow m;                m = (MainWindow)this.Owner;                m.showText("获取文件成功\r\n"); 主窗体(MainWindow): Win_Set  ws= new Win_Set();                   ws.Owner = this;                    ws.Show(); 要调用的函数: public void sho…
[背景说明]我的主窗体的名字叫做MainWindow,其子窗口是一个叫subDialog的类.我现在想做的是在子窗口的函数中调用父窗口. 在父窗口中打开子窗口 //弹出对话框确定变换的参数 subDialog *dialog = new subDialog(this);//这个地方this非常重要 dialog->setModal(true); dialog->show(); 在上面的代码当中,通过this把父窗口的指针传到了子窗口当中,因此在子窗口中可以使用这个传递的指针控制父窗口做一些事情…
今天在做项目时候遇到一个问题,窗体分为左右两部分,要求在左边栏点击按钮时,右边动态加载窗体最后想到用panel实现,经历几次失败,并查找资料后,终于搞定 说明:如果多次切换需加入 panel.clear();清空原有panel内容环境:C# VS2008 方法一:通过给panel加载子元素实现 Form2 form = new Form2(); form.FormBorderStyle = FormBorderStyle.None; //隐藏子窗体边框(去除最小花,最大化,关闭等按钮) form…
要求:为父窗体添加一个类似于加载等待的功能,当窗体点击备份时弹出且覆盖掉窗体 问题一产生:当为弹窗添加控件时,form.show();导致窗体卡死,控件变得透明化; 问题一分析:当窗体show();之后socket方式的传输方式,使线程卡死了,导致弹窗窗体为加载完全就卡死了; 问题一解决:将备份的代码重新开启一个线程进行操作,使主窗体的代码不会卡死 注意:可能会产生跨线程访问问题,注意善用this.invoke(new Action());来解决问题; 问题二:弹窗窗体会被覆盖导致主窗体可能被操…