mdi

mdi子窗口闪烁问题之解决二

被刻印的时光 ゝ 提交于 2020-03-22 03:18:16
困扰了很久的问题,费了就牛二虎之力,结果呢, 业余解决嘛,过了一个星期才发现最后的解决办法比途中失败过的几个简单的多多了。 最好的方法就是最简单的方法,我想这就是设计程序的一个重要思路。 根据上一篇文章 mdi子窗口闪烁问题 找出的原因,进行了解决。 由于时间问题,等到深夜找到最终解决办法的时候还 遗留了几个小问题,不过是同样的方法可以解决的,我就不费时间了。 1、没有解决子框架在最大化时minimize后的情形; 2、当一个正常状态的子框架拖动到另一个位置,然后最大化,再最小化,就有了问题。 这两个问题已经不是什么问题了,因为这个只是和已经解决的4,5个事件是一样的情形。 这里是我的程序: mdi无闪烁切换子窗口 来源: https://www.cnblogs.com/worldreason/archive/2008/07/21/1247277.html

给你的MDI程序加上一个标签栏,方便地切换和关闭子窗体

孤人 提交于 2020-02-27 12:36:48
效果如下图所示,应该说还不错吧,菜单简陋了一点,不过你可以根据自己的需要扩充。 因为能力有限,没能实现给当前的TabPage加一些修饰,不像专业软件那么漂亮,不过还能凑合用^_^ 做法如下: 首先创建一个MDI子窗口的基类 MDI子窗体 using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; namespace ECHaierHR.Common { /**/ /// <summary> /// MDIChild 的摘要说明。 /// </summary> public class MDIChild : System.Windows.Forms.Form { /**/ /// <summary> /// 必需的设计器变量。 /// </summary> private System.ComponentModel.Container components = null ; private TabControl tabCtrl; private TabPage tabPag; public MDIChild() { // // Windows 窗体设计器支持所必需的 //

C#实现MDI——多文档窗口

二次信任 提交于 2020-02-24 04:09:20
C#实现MDI——多文档窗口 2011-11-15 21:32:16 | 分类: C# | 字号 订阅 多 文档界面就是所谓的MDI,他是从Windows 2.0下的Microsoft Excel电子表格程序开始引入的,这是因为Excel电子表格用户有时需要同时操作多份表格,MDI正好为这种操作多表格提供了很大的方便,于是就产生 了MDI程序。在视窗系统3.1版本中,MDI得到了更大范围的应用。其中系统中的程序管理器和文件管理器都是MDI程序。   Visual C#是微软公司推出的下一代主流程序开发语言,他也是一种功能十分强大的程 序设计语言,正在受到越来越多的编程人员的喜欢。在Visual C#中,提供了为实现MDI程序设计的很多功能。本文就是通过一个具体的例子来详细的介绍在Visual C#中的MDI编程。   一程序设计及运行的环境:   (1)视窗2000服务器版   (2).Net FrameWork SDK Beta 2版   二程序设计的思路、主要步骤和实现方法:   MDI编程主要就是要在主窗体中能够新建一个MDI窗体,并且能够对主窗体中的所有MDI窗体实现层叠、水平平铺和垂直平铺。虽然这些操作比较基本,但却是程序设计中的要点和重点。本文就按照上述功能的顺序来一一介绍。   (1)首先要设定主窗体是一个MDI窗体的容器

QT MDI

空扰寡人 提交于 2020-02-22 18:16:53
传统的应用程序设计中有多文档界面(Multi-document Interface,MDI)应用程序, Qt 为设计 MDI 应用程序提供了支持。 本节的实例 samp6_4 是一个 MDI 应用程序,程序运行效果如图 1 所示。 图 1 MDI 应用程序实例 samp6_4 的运行时界面 MDI 应用程序就是在主窗口里创建多个同类型的 MDI 子窗口,这些 MDI 子窗口在主窗口里显示,并共享主窗口上的工具栏和菜单等操作功能,主窗口上的操作都针对当前活动的 MDI 子窗口进行。 设计 MDI 应用程序需要在主窗口工作区放置一个 QMdiArea 作为子窗体的容器。实例 samp6_4 主窗口的工作区使用一个 QMdiArea 组件,实例的子窗口类是 QFormDoc,是一个使用 QPlainTextEdit 进行简单文本显示和编辑的窗体。 创建的 QFormDoc 窗体对象作为一个子窗口加入到 mdiArea 组件中。QMdiArea 组件类似于实例 samp6_3 中主窗口上的 tabWidget 组件,只是 QMdiArea 提供更加完备的功能。更改 MDI 的显示模式,可以得到与实例 samp6_3 相似的以多页组件管理的 MDI 界面效果。 文档窗口类QFormDoc的设计 以可视化方式创建一个基于 QWidget 的类 QFormDoc,设计可视化界面时,只放置一个

C# MDI应用程序

帅比萌擦擦* 提交于 2020-02-03 07:15:00
MDI(Multiple Document Interface)应用程序,即多文档界面程序是允许创建在单个容器中包含多个窗体的应用程序。多文档揭秘那可同时打开多个文档,简化了文档之间的信息交换。 MDI应用程序是由一个父窗体和多个子窗体组成。 首先:创建父窗体 设置IsMdiContainer属性为true. 其次:创建子窗体 代码:父窗体按钮事件 按钮事件 private void button1_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); //ShowForm(f2); f2.MdiParent = this; f2.WindowState = FormWindowState.Maximized; //f2.Text = "新建文档" + intNumber++; f2.Show(); } 1.创建子窗体方法 创建子窗体方法 private void ShowForm(Form frm) { foreach (Form f in this.MdiChildren) { if (f.Name == frm.Name) { f.Activate(); return; } } frm.MdiParent = this; frm.WindowState = FormWindowState.Normal; frm

Enable a TButton of an MDI ChildForm upon closing of another MDI ChildForm

送分小仙女□ 提交于 2020-01-30 03:29:45
问题 I have 2 MDI ChildForms and the Child1 has a TButton to open the Child2. I do not have any issue opening it at the same time disable the TButton to prevent Child2 from recreating again using TButton. Now, the challenge comes when I want the TButton of Child1 back to "enabled" when I closed the Child2. I am getting access error when doing these code: procedure TfrmChild2.FormClose(Sender: TObject; var Action: TCloseAction); begin child1_u.frmChild1.btnOpenChild2Form.Enabled := True; Action :=

Winform--处理MDI父窗体与子窗体的交互

一个人想着一个人 提交于 2020-01-29 05:36:04
设置个窗体只能弹出一次 设置个窗体只能弹出一次 #region 设置个窗体只能弹出一次 /**/ /**/ /**/ /// <summary> /// 控制只弹出一个子窗体 /// </summary> /// <param name="type"> 子窗体类型 </param> public void FilmShow(Type type) { Form[] f = this .MdiChildren; foreach (Form form in f) { if (form.GetType().Name == type.Name) { form.Activate(); return ; } } Assembly a = Assembly.GetExecutingAssembly(); Form ff = (Form)a.CreateInstance(type.FullName); ff.MdiParent = this ; ff.Show(); // this.statusBarPanel3.Text = this.ActiveMdiChild.Text.ToString(); } /**/ /**/ /**/ /// <summary> /// 该窗体以模式窗体形式弹出 /// </summary> /// <param name="type"></param> public

获取MDI窗体的实例

依然范特西╮ 提交于 2020-01-26 11:15:57
View Code /// <summary> /// /// </summary> /// <param name="mdiParent"></param> /// <param name="frmtype"></param> /// <returns></returns> public static bool IsExistInstance(System.Windows.Forms.Form mdiParent, System.Type frmtype) { System.Windows.Forms.Form[] f = null ; int i = 0 ; f = mdiParent.MdiChildren; for (i = 0 ; i <= f.Length - 1 ; i++) { if (f[i].GetType().Equals(frmtype)) { return true ; } } return false ; } /// <summary> /// /// </summary> /// <param name="mdiParent"></param> /// <param name="midChild"></param> /// <returns></returns> public static bool IsExistInstance(System

How to make size of Window responsive for every type of screen resolution using Windows form [closed]

一笑奈何 提交于 2020-01-20 07:53:24
问题 Closed . This question needs to be more focused. It is not currently accepting answers. Want to improve this question? Update the question so it focuses on one problem only by editing this post. Closed 4 years ago . Make size of Window responsive for every type of screen resolution using Windows form 回答1: It is strongly recommended using WPF because it is a much better choice for that. You can use of the Anchor and Dock properties of Controls on a Windows Form to achieve proper placement on

How to make size of Window responsive for every type of screen resolution using Windows form [closed]

核能气质少年 提交于 2020-01-20 07:52:55
问题 Closed . This question needs to be more focused. It is not currently accepting answers. Want to improve this question? Update the question so it focuses on one problem only by editing this post. Closed 4 years ago . Make size of Window responsive for every type of screen resolution using Windows form 回答1: It is strongly recommended using WPF because it is a much better choice for that. You can use of the Anchor and Dock properties of Controls on a Windows Form to achieve proper placement on