(24)IsMdiContainer 属性:获取或设置一个值,该值指示窗体是否为多文档界面(MDI)中的子窗体的容器。值为true时,是子窗体的容器,值为false时,不是子窗体的容器。...(8)MdiList属性:用来获取或设置一个值,通过该值指示是否用在关联窗体内显示的多文档界面(MDI)子窗口列表来填充菜单项。...一个子窗口在功能上可能与父窗口的其他子窗口不同,例如,一个子窗口可能用于编辑图像,另一个子窗口可能用于编辑文本,第 3 个子窗口可以使用图形来显示数据,但是所有的窗口都属于相同的MDI父窗口。...与MDI应用程序设计有关的方法中,一般只使用父窗体的LayoutMdi方法,该方法的调用格式如下: MDI父窗体名.LayoutMdi(Value); 该方法用来在MDI父窗体中排列MDI子窗体,以便导航和操作...常用的 MDI 父窗体的事MdiChildActivate,当激活或关闭一个 MDI子窗体时将发生该事件。 3.菜单合并 父窗体和子窗体可以使用不同的菜单,这些菜单会在选择子窗体的时候合并。
、图标以及文本框中右键弹出的那种菜单,.net是通过调API的方式来操作这样的菜单,而后者则完全是.net实现,更多信息请参考MSDN,此处不展开),因为ContextMenu的Show是阻塞式的,正合我意...TopMost=true实现,同时移除OnShow重写 //- 解决子控件无聚焦框(焦点虚线框,FocusCues)的问题 //Update:201508261806 //- 重绘右下角调整大小手柄...子窗体时,被Disable的是MDI主窗体 //并且Parent也会指向MDI主窗体,故需改回为Owner,这样弹出窗体的Location才会相对于Owner而非...,选择继承自FloatLayerBase类;也可以新建普通窗体,然后把基类由Form改为FloatLayerBase 在设计器和源码中打造浮动应用 在需要的地方使用它。...关于使用,先看一下FloatLayerBase的部分公开成员: 上面4个属性都是跟边框有关的,边框总共有3种形态,三维、线型、无,由BorderType指定;当为三维形态时,由Border3DStyle
开发人员可以使用Winform控件来构建用户界面并响应用户的操作行为,从而创建功能强大的桌面应用程序。一、Form控件详解Form是Winform中的一个类,用于表示一个窗体窗口。...添加子窗体的方式有两种,一种是在代码中创建一个新的子窗体,另一种是在窗体设计器中创建一个子窗体控件。...可以通过设计器界面或者代码来添加菜单和子菜单。3.通过事件处理程序响应菜单或子菜单的点击事件,可以在代码中实现对应的功能。...这时可以将子窗体的ShowInTaskbar属性设置为False,这样子窗体就不会出现在任务栏中,用户也无法通过任务栏来切换子窗体。...MDI应用程序:使用Form可以创建MDI父窗体,作为多文档界面应用程序的主窗口。模式窗口:Form可作为模式窗口使用,即在窗体弹出时阻止用户与其它窗体交互。
大家好,我是沙漠尽头的狼。.NET是免费,跨平台,开源,用于构建所有应用的开发人员平台。本文演示如何在WPF中使用Blazor开发漂亮的UI,为客户端开发注入新活力。...在后面的3.4小节,站长使用一个第三库实现了窗体圆角问题,更多比较好的WPF自定义窗体实现可看这篇文章:WPF三种自定义窗体的实现,本小节中示例源码在这WPF自定义窗体。...3.2 WPF异形窗体异形窗体的需求,使用WPF实现是比较方便的,本来打算写写的,感觉偏离主题太远了,给篇文章自行看看吧:WPF异形窗体演示,文中异形窗体效果如下:下面介绍将窗体的标题栏也放Razor组件中实现的方式...多窗体消息通知一般C/S窗体之间通信使用委托、事件,而在WPF开发中,可以使用一些框架提供的抽象事件订阅\发布组件,比如Prism的事件聚集器IEventAggregator,或MvvmLight的Messager...在RazorViews\MainView.razor中执行按钮点击,发送打开子窗体消息:...
string boolean bool 注意:C#中布尔类型的关键字与java不同,使用bool,C#中字符串数据类型是小写的。...1-3.C#中的注释 C#的行注释和块注释与Java是完全相同的,分别使用//和/*..*/,但文档注释与java中的略有不同,使用"///",且文档注释的每一行都以"///"开头。...} } } c.认识窗体文件 (1)partial关键字 partial是部分的意思,这是.NET Framework2.0引入的一个新特性-分布类 在C#中,为了方便代码的管理和编辑...5-2:创建多文档界面应用程序(MDI) a.为什么使用MDI 比如:记事本 如果想在一个窗口中打开多个文件,就要使用MDI(多文档界面)应用程序。...设置子窗体:在调用打开子窗体的Show()方法前,在代码中将子窗体的MdiParent属性设为this】 例如: //用户单击菜单项时,出现创建学员用户窗口 private void tsmiNewStudent_Click
大家好,我是沙漠尽头的狼。 .NET是免费,跨平台,开源,用于构建所有应用的开发人员平台。 本文演示如何在WPF[1]中使用Blazor[2]开发漂亮的UI,为客户端开发注入新活力。...,运行程序如下: 隐藏WPF默认窗体边框 看上图,点击窗体中的按钮(其实是Razor组件的按钮),但未执行按钮点击事件,且窗体消失了,这是怎么回事?...窗体圆角 在后面的3.4小节,站长使用一个第三库实现了窗体圆角问题,更多比较好的WPF自定义窗体实现可看这篇文章:WPF三种自定义窗体的实现[9],本小节中示例源码在这WPF自定义窗体[10]。...多窗体消息通知 一般C/S窗体之间通信使用委托、事件,而在WPF开发中,可以使用一些框架提供的抽象事件订阅\发布组件,比如Prism的事件聚集器IEventAggregator,或MvvmLight的Messager...在RazorViews\MainView.razor中执行按钮点击,发送打开子窗体消息: ...
C# winform 界面美化技巧(扁平化设计) 转 关于C#界面美化的一些小技巧 在不使用第三方控件如 IrisSkin 的前提下,依然可以对winform做出让人眼前一亮的美化 ?...将主窗体FormBorderStyle更改为None,这样就得到了一个无边框的窗体(winform自带边框太丑。。)...调节背景色,建议找到自己喜欢的颜色,然后使用取色器(我用的是按键精灵自带的取色板)取得想要的RGB参数,输入到BackColor属性之中 在主窗体的Mouse_Down中添加如下事件,实现窗体随意拖动:...} } } 完成以上步骤之后,我们如何在界面中插入自己的进度条呢?...``我们可以先插入一个winform自带的ProgressBar,调整好位置,ForeColor,BackColor属性,然后进入窗体的Designer程序中做如下修改: //private System.Windows.Forms.ProgressBar
C# winform 界面美化技巧(扁平化设计) 关于C#界面美化的一些小技巧 在不使用第三方控件如 IrisSkin 的前提下,依然可以对winform做出让人眼前一亮的美化 首先,我们先来实现主界面的扁平化...将主窗体FormBorderStyle更改为None,这样就得到了一个无边框的窗体(winform自带边框太丑。。)...调节背景色,建议找到自己喜欢的颜色,然后使用取色器(我用的是按键精灵自带的取色板)取得想要的RGB参数,输入到BackColor属性之中 在主窗体的Mouse_Down中添加如下事件,实现窗体随意拖动...} } } 完成以上步骤之后,我们如何在界面中插入自己的进度条呢?...“我们可以先插入一个winform自带的ProgressBar,调整好位置,ForeColor,BackColor属性,然后进入窗体的Designer程序中做如下修改: //private System.Windows.Forms.ProgressBar
该函数检查与特定父窗体相联的子窗体z序(Z序:垂直屏幕的方向,即叠放次序),并返回在z序顶部的子窗体的句柄。...返回值: 假设函数成功,返回值为在Z序顶部的子窗体句柄。假设指定的窗体无子窗体,返回值为NULL。...GetSafeHwnd 函数功能:获取某个窗体对象(CWnd的派生对象)指针的句柄(HWND)时,最安全的方法是使用GetSafeHwnd()函数。...这个原子(一个16bit的值),必须被放置在lpClassName的低位字节中,lpClassName的高位字节置零。...SetWindowText: 至于窗体标题的改变,我们能够通过SetWindowText来实现 注:假设窗体本身属性是不显示标题的,这个函数的调用不会影响窗体属性。
注意到lazy initialization形式中的synchronized,这个synchronized很重要,如果没有synchronized,那么使用getInstance()是有可能得到多个Singleton...仔细研究对这两种ServiceLocator才发现区别:在WEB中的ServiceLocator的采取Singleton模式,ServiceLocator属于资源定位,理所当然应该使用Singleton...问题描述:用了单件模式Singleton来控制窗体被重复或多次打开,最初是在MDI子窗体中写方法,后来看别人的写的是属性,基本是一样的,都可以,然后想的是,项目中有诺多窗体,如果每个窗体都写一份,岂不太脑残...这里呢就有关系到C#中的垃圾回收问题。C#垃圾回收器管理所有的托管对象,所有需要托管数据的.NET语言(包括 C#)都受运行库的垃圾回收器的制约。...,比如Form1,代码如下: //Form1为MDI子窗体 private void 会员管理ToolStripMenuItem_Click(object sender, EventArgs e)
使用MultiRow开发WinForm应用(附源码) MultiRow发现之旅(五)- MultiRow版俄罗斯方块(exe + 源码) 本文将使用MultiRow实现票据开发功能,模拟大家都很熟悉的“...在工程中心添加一个windows窗体,命名为“发票窗体”,在设计器中拖放一个MultiRow和一个按钮。 然后添加新模板并且进入新模板的编辑界面。...然后在属性窗口中展开DefaultCellStyle属性,点开Border属性的编辑器,选择普通边框,点击“无”,然后点击确定,关闭对话框。至此发票的抬头就完全做好了。 8. 现在来编辑发票的主体。...现在在依次调整每个Cell的边框和位置为下面的样子: ? (拖拽的过程中,细心的笔者发现自己写了一个错别字,于是改正之^_^,亲爱的读者你能看出来吗。)...回到发票窗体的设计器。调整Multirow的大小到刚好能显示全部发票内容。 ? 双击打印按钮,添加事件处理代码: ? 在发票窗体中给发票窗体类添加如下方法: ?
本文转载:http://www.csframework.com/archive/2/arc-2-20110805-1771.htm 文章侧重点主要是讨论“窗体”与“窗体”之间方法的调用,以及“MDI父窗体...C# 子窗体中调用父窗体中的方法(或多窗体之间方法调用) 看似一个简单的功能需求,其实很多初学者处理不好的,很多朋友会这么写: C# Code: //父窗体是是frmParent,子窗体是frmChildA...//在父窗体中打开子窗体 frmChildA child = new frmChildA(); child.MdiParent = this; child.Show(); //子窗体调父窗体方法...假设我们的项目不断在扩展,需要将父窗体与子窗体分开在不同的模块,这段代码就完了!因为父窗体模块必须引用子窗体模块,而子窗体需要用到frmParent的类,又要引用父窗体的模块!...办法是有的,就是使用接口解除依赖关系!
企业应用中,经常会遇到一些需要定时自动执行的程序来完成某些功能,比如:自动定时从第三方web service取回数据、定时对历史数据进行清理、定时向ftp上传业务数据......WindowStyle设置成None即可 2、无边框窗体的移动 去掉顶上的边框后,通常为了美观,我们需要自己在顶上放一个伪造的标题栏,类似下面这样 <Border Grid.Row="0" MouseLeftButtonDown...3.最小化到系统托盘 Winform中的NotifyIcon控件在WPF中仍然可以继续使用 先 using System.Windows.Forms; 添加Windows.Forms命名空间的引用 再声明一个窗体级的变量...,主动提醒 虽然做了无边框窗体的处理,但是如果用户意外按了Alt+F4,甚至误操作注销或重启Windows,程序还是会直接退出的,最好能给个提示,这样管理员看到提示后,有机会取消误操作 先给主窗体增加Closing...但这样还不够,如果Windows注销时,仍然会直接退出 这就需要 using Microsoft.Win32;使用Win32命名空间下的某些功能了,主窗体构造函数中,增加: //捕获关机事件 SystemEvents.SessionEnding
开发人员可以使用Winform控件来构建用户界面并响应用户的操作行为,从而创建功能强大的桌面应用程序。...展示如何在Label控件中使用AutoEllipsis属性:label1.Text = "这是一段很长很长的文本,它将会超出Label控件的显示区域,使用AutoEllipsis可以自动添加省略号。"...None:无边框,控件不显示边框FixedSingle:单线边框,控件顶部、底部、左侧和右侧各显示一条线Fixed3D:三维边框,控件顶部、底部、左侧和右侧各显示一条凸起或凹陷的线使用方法:1.在设计模式下...以下是使用ContextMenuStrip的步骤:在设计界面上,从工具箱中拖拽一个ContextMenuStrip控件到窗体上。在属性窗口中添加菜单项。...以下是一个具体的案例,用于说明如何在Winform中使用Label控件:在Visual Studio中创建一个新的Winform项目。在Form中添加一个Label控件。
在设计窗体时,这两个属性特别有用,如果用户认为改变窗口的大小并不容易,应确保窗口看起来显示的不是那么乱,并编写很多代码来实现这个效果,许多程序解决这个问题都是禁止给窗口重新设置大小 这显然是解决问题的最简单的方法...* Bottom–表示控件中与父窗体(父控件)相关的底部应该保持固定 * Left–表示控件中与父窗体(父控件)相关的左边缘应该保持固定 * Right...2、Dock属性用于指定控件应该停放在窗口的边框上,用户重新设置了窗口的大小,这个控件将继续停放在窗口的边框上,例如,如果指定控件停留在窗口的底部边界上,则无论窗口的大小怎么改变,这个控件都将改变大小,...虽然Anchor属性也可以实现这一点,但是Dock属性使得能够在父窗体中让子窗体可以再上方(或旁边)互相堆叠,如果某个子窗体改变了大小,其它停驻在它旁边的子窗体也会随之改变。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
以下是使用Button控件的一些常见操作:创建Button控件在Visual Studio的设计器中,可以直接从工具箱中拖拽Button控件到窗体上创建。...中,可以使用backgroundimage属性设置窗体的背景图像。...Popup:弹出窗口样式,控件边框呈现立体效果,弹出菜单等子控件会覆盖在边框外。Standard:标准样式,控件和边框呈现立体效果,边框内部和子控件显示在同一层级内。...如果需要使用其他方式加载图片,可以使用其他Image类的静态方法,如Image.FromHbitmap()和Image.FromResource()等方法。在设置控件的背景图片时,需要注意一些问题。...ImageList属性是Winform中一个非常实用的控件,可以很方便地管理和使用图片。
该组件主要用于设计多文档界面应用程序,具备有多种窗体展示风格,实现了在父窗体中内嵌多种子窗体的功能,使开发者能够轻松地创建支持多个文档的应用程序。...读者在使用MDI组件时,需要在UI界面中增加mdiArea控件容器,之后所有窗体创建与操作都要在容器内进行,其次由于MDI窗体组件仅仅是一个画布只具备限制窗口的作用,无法实现生成窗体,所以需要在项目中手动增加自定义...在子窗口模式下,QMdiArea管理并显示各个子窗口,允许用户同时查看和编辑多个文档。 析构函数: 析构函数中执行了 delete ui;,确保在对象销毁时释放与ui相关的资源,避免内存泄漏。...这段代码片段展示了一个使用QMdiArea创建多文档界面的主窗口类的基本结构和初始化设置。在这个窗口中,用户可以打开和管理多个子窗口,每个子窗口可以包含一个独立的文档。...标签页多页显示模式(QMdiArea::TabbedView) 在这种模式下,子窗口以标签页的形式显示在主窗口的顶部,用户可以通过点击标签页来切换不同的子窗口。
真为所欲为) 问题描述 验证简易相册程序的实现(不需要写入报告) 设计一个类似Windows写字板的程序,使其具有以下功能: 提供基本的写字板功能,如文件的打开,保存,支持txt、rtf; 实现多格式的文本的编辑...、修饰等,均有相应的菜单来控制,常用的菜单项配备相应的工具栏按钮(可参照Windows自带的写字板) 按需添加其他的代码,如窗口的布局等; 实现自定义的查找对话框,有能力的同学可进一步实现替换/全文替换等功能...状态栏中显示学生学号、姓名等信息,在窗口的标题中显示当前正在编辑的文件名 (可选)其他你觉得实用的功能:如支持word等 (可选)将其改造成MDI程序:父窗口中包含新建、窗口、帮助等菜单;在运行时,子窗口的菜单会与其合并...,使代码更加精简高效 这是一个MDI调整子窗体使用DropDownItemClicked的例子,高效优雅 = v = private void 窗口WToolStripMenuItem_DropDownItemClicked...的使用,是为了让一个父窗体拥有许多个子窗体,进行更加简单有效的操作 在父窗体new子窗体就行,记得一系列基本操作,你也可以通过生成函数和属性进行快速高效设置 private void 新建ToolStripMenuItem_Click
如图表1所示是Coolite一个官方的Demo站点,从页面布局和使用的控件TextBox,Combox,Button,ToolBar,StateBar,Panel,TabPanel,ExplorerBar...,MenuBar,PictureBox都用统一的样式非常方便的配置,基本不需要额外美工处理,同时支持ajax无刷新效果。...另外就是支持多窗体(MDI)功能,我们知道在C/S的应用程序中很容易实现MDI应用,在一个主窗体中打开多个子窗体,方便客户在不同的窗体间进行切换,支持多任务的操作,但是在B/S的环境下要实现MDI的效果...该套控件不同于一般的第三方空间如devexpress,netAdvantage,虽然提供非常多功能,但运行起来特别占用资源,时间一长服务器/客户端都会非常忙,但是Coolite采用的是纯javascript...一些控件使用效果; DropDownList支持多列显示,动态检索,分页非常实用的效果 ? 类似ajax autocomplete功能 ? 输入日期控件 支持的控件
使用属性中的handleWidth可调节组件之间的间距。 属性中的opaqueResize默认情况下(打勾),使用鼠标拖动分割子窗口间的边界时,子窗口会动态的改变其大小。...上图的frame是一个窗体的对象名,选择器若为具体的类实例对象名,应在前面使用#来表示,也可将图中的#frame改为QFrame(类型名),区别是前者仅对具体的一个窗体起作用效果,而后者是所有QFrame...而border-radius:0px;的意思是边框圆角半径。随着数值越来越大,按钮也越来越圆润~~,如下图。 ? ?子控件 ?...如上图QTabWidget组件,它的原型是下图,对于样式复杂的窗口组件(该组件又由几个小组件构成),必须访问窗口小部件的子控件,对其进行单独使用样式表,直接右键对QTabWidget使用样式表是不可用的...none,无边框,即使用了边框颜色也不会显示): ?
领取专属 10元无门槛券
手把手带您无忧上云