在MDI窗体中使用单例模式可以有效的避免同个窗体被实例化多次 [csharp] view plain copy   //==============字窗体的修改================  //一.将构造函数改成private private FrmSub1() { InitializeComponent(); } //二.声明一个字窗体的类型的静态变量 private static FrmSub1 instance; //三.通过静态方法创建字窗体 public static FrmSu…
winform 1.窗体: 造窗体界面: 窗体设计界面: 窗体类名不能重复! 属性: acceptbutton:回车是默认点击按钮 cancelbutton:按esc按键式默认的按钮 backcolor:背景色:最好选用有名称的,常用 forecolor:字体颜色 backguoundimg:背景照片 formborderstyle:窗体边框:sizeable:可调节大小:fixedsingle:不能调大小 tile:平铺:center:居中:stretch:充满窗体,会拉伸图片:zoom:保持…
前言 在做winfrom项目的时候我们可能会用到嵌套窗体,就是说一个容器中有多个窗体,可以分别管理和应用这些窗体,.net中提供了一种机制就是MDI,可能大家都会用,这边就简单的介绍下. 简单应用 winfrom中怎么用MDI呢,其实只要设置窗体的一个属性就可以了:…
最近开始了一个winform项目,原先一直都是web项目.遇到个问题,就是在框架内,左侧和中间的main都是用panel来实现的form,就是把form窗体打开到panel里,实现左侧是导航,中间是操作区域的效果.中间区域要想控制左侧导航或者顶部导航都是困难的,因为这时没有激活左侧窗体,操作顶部相对容易,因为顶部是父窗体,子窗体操作父窗体的例子很多,百度一下.我之前也写过一篇:winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体. 同样是子窗体相互操作起来挺困难,可以通过设…
winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体,搜集了几个方法,列举如下: 一 . 所有权法 父窗体,名称为“fuForm”,在父窗体中有个公共刷新方法,也就是窗体数据初始化方法.如: public void reLoad_method() { //窗体数据初始化方法,fuForm_Load中的全部操作,调用此方法可实现数据的刷新 } fuForm中打开ziForm时需要设置所有者,就是ziForm的所有者是fuForm,代码如下: ziForm _ziForm =…
既然是一个窗体设计器,那就应该能够设置控件的属性,设置属性最好的当然是PropertyGrid了,我们仅仅需要使用一个PropertyGrid.SelectedObject = Control就可以搞定,让PropertyGrid显示Control的所有属性.可是这里显示的属性名是英文的.对于我们开发人员来说这无可厚非,我们也乐于接受.并且让PropertyGrid显示中文属性名,这对于我们开发人员的使用来说显得多此一举.可是,对于我这种类型的一个应用工具,英文属性名对于很多客户来说可能就很难懂…
原理:利用委托和事件,本文将以图文并茂的例子讲述,告诉我们So Easy ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 一.窗体展示 首先我们看到是一个父窗体和…
[转] WinForm中一个窗体调用另一个窗体的控件和事件的方法(附带源码) //如果想打开一个 Form2 的窗体类,只需要: Form2 form = new Form2(); //有没有参数得看你 Form2 的构造函数怎么写的了 form.Show(); //或者简化成: new Form2().Show();…
C#WinForm父级窗体内Panel容器中嵌入子窗体.程序主窗体设计例子 在项目开发中经常遇到父级窗体嵌入子窗体所以写了一个例子程序,顺便大概划分了下界面模块和配色,不足之处还望指点 主窗体窗体采用前面一篇博客设计扁平化窗体 C#自定义Winform无边框窗体 主要思路 this.IsMdiContainer=true;//设置父窗体是容器 Son mySon=new Son();//实例化子窗体 mySon.MdiParent=this;//设置窗体的父子关系 mySon.Parent=pn…
C#自定义按钮.自定义WinForm无边框窗体.自定义MessageBox窗体 C#自定义Button按钮控件 效果展示 C#自定义Winform无边框窗体 效果展示 C#自定义无边框MessageBox窗体 效果展示 工程源程序CSDN下载 工程原程序下载 更多功能自己完善 O(∩_∩)O…
c# WinForm窗体编程中对窗体程序设置快捷键http://www.cnblogs.com/bison1989/archive/2011/09/19/2180977.html /// <summary> /// 实现摁下Ctrl+F,进行查找的功能. /// </summary> /// <param name="e"></param> protected override void OnKeyDown(KeyEventArgs e)…
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control 如果觉得写的还行,请点个 star 支持一下吧 欢迎前来交流探讨: 企鹅群568015492  准备工作 其实我也不知道这个应该叫什么名字,暂且叫有后退的窗体吧,这个窗体继承子基类窗体FrmBase,如果你对FrmBase还不了解,请移步 (十七)c#Winform自定义控件-基类窗体 查看 开始…
1.主窗体多线程给子窗体传值 解决方案:主要使用委托,因为会出现跨线程错误 主窗体 public FormMain() { InitializeComponent(); //background thread running Action sAction = async () => await CallbackWorkItem(); System.Threading.Tasks.Task task = System.Threading.Tasks.Task.Run(sAction); Syste…
新建窗体程序了,添加窗体事件Load(加载窗体时).Resize(调整控件大小时).自定义方法setTag(获取控件的width.height.left.top.字体大小等信息的值).setControls(根据窗体大小调整控件大小). float X, Y;//X表示窗体的宽度,Y表示窗体的高度 private void Form1_Load(object sender, EventArgs e) { //this.Resize += new EventHandler(Form1_Resize…
这是最近在做的一个项目中提到的需求,把一个现有的窗体应用程序界面嵌入到自己开发的窗体中来,看起来就像自己开发的一样(实际上……跟自己开发的还是有一点点区别的,就是内嵌程序和宿主程序的窗口激活状态问题). 在codeproject找到了一篇相关的文章(http://www.codeproject.com/Articles/9123/Hosting-EXE-Applications-in-a-WinForm-project),虽然可用,但是很不方便,于是重新设计编写了一个类库,用一个控件完成内嵌其它…
PS:文末的附件已更新,这次我放到博客园里面了,不会弹出广告,放心下载,O(∩_∩)O谢谢! 这是最近在做的一个项目中提到的需求,把一个现有的窗体应用程序界面嵌入到自己开发的窗体中来,看起来就像自己开发的一样(实际上……跟自己开发的还是有一点点区别的,就是内嵌程序和宿主程序的窗口激活状态问题). 在codeproject找到了一篇相关的文章(http://www.codeproject.com/Articles/9123/Hosting-EXE-Applications-in-a-WinForm…
前段时间学习委托,感觉很模糊的样子,也做过许多实例,但是项目中一直没有用到,今天在项目中遇到一个很简单的例子,现在拿出来,做一个简单的记录. 要求:将弹出框里勾选的内容返回到主面板上. 工具:委托. 效果图:(由于是根据项目提取出来的,所以里面的界面有点文字有点奇怪) 主窗体: 子窗体:(点击浏览之后弹出的对话框) 勾选几项之后,点击确定,主窗体显示: 实现过程: 这里主要是用到委托实现,所以主要描述一下委托在这里的应用. 我们要在主窗体(这里的子父窗体都是自己假想)中获取子窗体中的元素,所以首…
前段时间学习委托,感觉很模糊的样子,也做过许多实例,但是项目中一直没有用到,今天在项目中遇到一个很简单的例子,现在拿出来,做一个简单的记录. 要求:将弹出框里勾选的内容返回到主面板上. 工具:委托. 效果图:(由于是根据项目提取出来的,所以里面的界面有点文字有点奇怪) 主窗体: 子窗体:(点击浏览之后弹出的对话框) 勾选几项之后,点击确定,主窗体显示: 实现过程: 这里主要是用到委托实现,所以主要描述一下委托在这里的应用. 我们要在主窗体(这里的子父窗体都是自己假想)中获取子窗体中的元素,所以首…
方法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…
今天在做项目时候遇到一个问题,窗体分为左右两部分,要求在左边栏点击按钮时,右边动态加载窗体最后想到用panel实现,经历几次失败,并查找资料后,终于搞定 说明:如果多次切换需加入 panel.clear();清空原有panel内容环境:C# VS2008 方法一:通过给panel加载子元素实现 Form2 form = new Form2(); form.FormBorderStyle = FormBorderStyle.None; //隐藏子窗体边框(去除最小花,最大化,关闭等按钮) form…
简述:最近在做C#和HALCON编程,要用到单例的参数由子窗体改变父窗体的值.此例为简化版 1,点击系统设置 2,弹出子窗体,在其输入修改参数后点修改按钮 3,点击确定按钮后,关闭子窗体后,主窗体textbox值改变 4,单例程序如下: public class Student { //创建单例类,内部静态类方法 private Student() { }//私有构造函数 class Nested { internal static readonly Student instance = new…
在写Winform程序的时候,经常会遇到“打开一个新的窗体然后关闭本窗体”之类的问题.最常见的就是登陆界面和主窗体了.而最常见的处理方法就是表单判断正确后 new MainForm().Show(); private void btnLogin_Click(object sender, EventArgs e) { if (登陆成功) { MainForm main = new MainForm(); main.Show(); this.Close(); } else { MessageBox.…
在写Winform程序的时候,经常会遇到“打开一个新的窗体然后关闭本窗体”之类的问题.最常见的就是登陆界面和主窗体了.而最常见的处理方法就是表单判断正确后 new MainForm().Show(); private void btnLogin_Click(object sender, EventArgs e) { if (登陆成功) { MainForm main = new MainForm(); main.Show(); this.Close(); } else { MessageBox.…
这个是监控窗体缩放的事件 缩放中居中主要在 'beforeshow' 和 'destroy'两个事件里面监控 var EditTempWindow; Ext.EventManager.onWindowResize(function() { if (EditTempWindow) { EditTempWindow.center() } }); Ext.define("Define.Class.EditWindow", { id: 'RoomEditWin', xtype: 'window…
\Delphi 6数据库开发典型实例\图表的绘制 1.在主窗体里面打开子窗体:ShowForm(Tfrm_Print); procedure Tfrm_Main.ShowForm(AFormClass:TFormClass); begin with AFormClass.Create(Self) do try ShowModal; // 阻塞或者模态窗口,只有你把当前窗口关闭后,才能去操作父亲窗口. finally Free; end; end; //这个例子打开有异常,提示单元chart 引用…
对话框不是模式就是无模式的.模式对话框,在可以继续操作应用程序的其他部分之前,必须被关闭(隐藏或卸载).例如,如果一个对话框,在可以切换到其它窗 体或对话框之前要求先单击“确定”或“取消”,则它就是模式的. 一.如何调用 任何窗体(派生于基类Form的类),都可以以两种方式进行显示. //非模式窗体 From qform=new Form(); qform.Show(); //模式窗体 Form qform=new Form(); qform.ShowDialog(); 一.控制权上的区别 Fo…
C# 如何 实现一个窗体和另一个窗体始终保持相对的位置,任由一个窗体移动,当点击按钮时,弹出的另一个窗体也与之保持相对位置(如左上角)你根据第一个窗体的location去算第二个窗体的location了 补充回答: 当然还有size 继续追问: 你举个例子,谢谢!写点代码.嘿嘿 补充回答: 窗体一public Form1()        {            InitializeComponent();        }        private void button1_Click(…
问题:在关闭一个窗体2后,要刷新窗体1内的datagridview的数据,直接窗体1.datagridview.datasource=dt 是没用的. 解决办法如下: 在主窗体里 创建编辑窗体时 加上一句  frm =me.owner,然后关闭编辑窗体时 创建一个主窗体对象并赋值为me.owner 主窗体新建编辑窗体时的代码如下: Dim frm As New ItemEdit frm.Owner = Me frm.ShowDialog() 编辑窗体关闭事件代码如下: Private Sub I…
1.在主窗体(含有serialPort的窗体)中 //先定义委托 public delegate void OpenPort(); public delegate void ClosePort(); //同样在主窗体中实现添加 public void ClosePort()//关闭串口,供委托调用 { try { serialPort1.Close(); } catch (System.Exception) { } } public void OpenPort()//打开串口,供委托调用 { t…
/// <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…