WinForm 多窗体】的更多相关文章

调用窗体(父):Form1,被调用窗体(子):Form2方法1:   所有权法//Form1://需要有一个公共的刷新方法public   void   Refresh_Method(){//...}//在调用Form2时,要把Form2的所有者设为Form1Form2   f2   =   new   Form2()   ;f2.Owner   =   this;f2.ShowDialog()   ;//Form2://在需要对其调用者(父)刷新时Form1   f1   ;f1   =  …
Winform跨窗体操作控件是winform开发中很常见的形式,最常见且简单有效的方式便是使用委托的方式来进行操作,下面我将通过一个小实例来说明如何使用委托跨窗体实现控件操作. 实例介绍:两个窗体,Form1按钮打开Form2,然后在Form2的TextBox输入值在Form1的TextBox中显示出来. 一.项目结构 Form1窗体设计: Form2窗体设计: 二.代码实现 在Form2的代码中声明一个委托(写在Form2类外)-> public delegate void ChangeFor…
WinForm 设置窗体启动位置在活动屏幕右下角 在多屏幕环境下, 默认使用鼠标所在的屏幕 1. 设置窗体的 StartPosition 为 FormStartPosition.Manual. 2. 获取鼠标所在屏幕: var screen = Screen.FromPoint(new Point(Cursor.Position.X, Cursor.Position.Y)); 3. 计算并设置窗体位置坐标: var x = screen.WorkingArea.X + screen.Workin…
WinForm之窗体应用程序 基本简单数据库操作(增删改查) using System; using System.Collections.Generic; using System.Windows.Forms; namespace DataBaseOperation { static class Program { /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static void Main() { Applic…
主窗体中代码: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnOpen_Click(object sender, EventArgs e) {//点击弹出方法 FrmChild frmChild = new FrmChild(); frmChild.ShowDialog(); if (frmChild.DialogResult == System.Wind…
C# winform中 窗体缩放自适应的方法(不同电脑/不同分辨率)   窗体缩放是一个困扰我多时的问题,为了解决这个问题,我从网上找了很多相关的资料,很多人说用Anchor和Dock属性,但是我试了以后,始终不能达到想要的效果. 后来,搜到了一个帖子,终于解决了这个问题,再次对该贴作者表示感谢.原帖链接为: http://www.cnblogs.com/sydeveloper/archive/2013/01/29/2881521.html 以下是笔者的实现过程: 1.  首先在窗体上放上一个P…
winform圆角窗体实现 1.窗体的FormBorderStyle设置成None,不要控制边框 2.TransparencyKey和BackColor颜色设置成相同的,这样,窗体就透明了 3.以此为基础,制作透明不规则窗体,可以在窗体上设圆角背景图片 只需要解决的是无边框窗体的拖动\关闭等事件处理,就可以不通过重绘窗体来实现.…
C# WinForm 父窗体 子窗体 传值 本次示例效果如下:Form1为父窗体(包含textBox1.button1)Form2为子窗体(包含textBox2.button2) 父窗体给子窗体传值==================1.点击Form1的button1 打开Form2  父窗体给子窗体传值 可以调用重载子窗体的构造函数 直接传入相关数值 public partial class Form1 : Form    {        public Form1()        {   …
c#winform自定义窗体,重绘标题栏 虽然现在都在说winform窗体太丑了,但是我也能尽量让桌面应用程序漂亮那么一点点话不多说,先上图 重绘标题栏先将原生窗体设置成无边框,FormBoderStyle设置成None然后添加一个panpel控件设置成窗体的的标题栏 然后添加四个Label控件充当标题和最小化最大化关闭按钮.此时界面的原型就出来了. 完善窗体当然原型出来了,肯定会让其它窗体继承这个窗体,难点就在于怎么让子窗体标题实时更新标题,我是这样做的重写(override)j基类窗体的Te…
WinForm - 也叫做C/S  客户端 另:B/S是 网页端 客户端应用程序 - 是需要安装在用户电脑上才可以使用的程序 特点: 不需要联网也可以打开使用部分功能,但是现在的情况是许多功能依然需要互联网的支持,代码部分在用户电脑上执行 使用VS新建项目-Windows窗体应用程序 在打开的设计界面上,右击窗口点击属性,即可设置窗体本身的各种属性: 布局: AutoScroll:当窗体中内容超出可见区域时,自动显示滚动条 Location:窗体距离桌面左上角的距离坐标,需要配合StartPos…
winform窗口打开后文本框的默认焦点设置,进入窗口后默认聚焦到某个文本框,两种方法: ①设置tabindex 把该文本框属性里的tabIndex设为0,焦点就默认在这个文本框里了. ②Winform的Activated事件 在Form的Activated事件中添加textBox1.Focus(), 即可获得焦点. private void Form1_Activated(object sender, EventArgs e) { textBox1.Focus(); } TextBox是可以获…
我想做一位狂热的程序猿粪子! 其实一直都很想做点什么,工作原因林林种种导致停止了前进的脚步. 有时会为自己的一个目标狂热,但经常发觉激情过后更多的总是为自己找借口! 最近感觉奔三将近.逐有感而发,不能再这样下去了. 即拿出以前自己为那狂热好一阵的东西继续下去. 一直想为自己开发一套控件库,但感觉精力确实有限,也没那么多时间,逐渐浇灭了这样的织热. 这是套窗体皮肤,断断续续所花费的时间也不少. 下面我介绍下我的这套皮肤,其实也算不上一套,只算是个开始吧. 有人可能会想这不就是边框隐藏再绘制客户区么…
[前提]一个winform应用程序项目中,窗体B,需要使用 窗体A 中一个TextBox控件的值,进行计算等操作. [解决方案] 1.在窗体A中定义:public static double a;// 如果你的TextBox控件有初始默认值,这里一定要改为public static double a=初始值;否则初始值默认为0 2.在窗体A添加函数: public void textBox1_TextChanged(object sender, System.EventArgs e) { a =…
https://stackoverflow.com/questions/5817632/beginupdate-endupdate-for-datagridview-request SuspendLayout()并且ResumeLayout()不要暂停绘图,只能暂停布局操作.给这个家伙一个机会: public static class ControlHelper { #region Redraw Suspend/Resume [DllImport("user32.dll", Entry…
分享一个很久之前写的一个Winform换肤组件. 主要利用CBT钩子,NativeWindow来实现.可实现动态换皮肤插件修改窗体显示外观. 我们先定义一个自定义组件 using Skin; using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Linq; using System.Reflection; using Syste…
做过很多winform项目,都为winform控件头疼不已.想实现一些漂亮的样子总是很难.我这里列举几个缺点: 1.winform控件大多是 绝对布局 ,你需要给出准确的坐标.那么在实现居中效果就会很难. 2.学习成本,也了解各个控件的结构,属性等.要想更熟练的掌握需要很多时间. 3.实现界面的成本,调整各个窗体,控件的样式到原型图的效果要用很长时间. 4.维护,需要懂得WINFROM的程序员来进行维护. 先想到这么多.我接触android后,发现android实现UI的方式很有意思,使用xml…
在构建winform程序时,普遍的做法是将主窗体设置成 MDI Container,使它可以放置工作窗体(Form 而非 UserControl).工作窗体作为子窗体填充工作区,一般设置 FormBorderStyle = None,不显示标题栏和边框,然后最大化.最大化设置上有个要点,如果设置WinformState = Maxmized,则会出现很多不希望的结果,比如右上角会出现关闭子窗体按钮,标题内容会合并,主菜单合并等等,你不得不佩服MDI这种烦恼的特性. 如果不设置 WindowSta…
今天经前辈提醒才知道winform窗体还有美化工具,呵呵,不得不说,孤陋寡闻了.下面总结一下irisskin2的使用步骤和遇到的问题及解决办法. 1.网址:http://www.pc6.com/softview/SoftView_70918.html#download 皮肤控件换肤素材包,IrisSkin2.dll皮肤素材资源下载,这是一款与编程开发相关的素材资源,主要是提供一些采用IrisSkin2.dll控件进行软件窗口换肤的素材文件,包括一些GIF图像资源.一些ssk文件,压缩包内一共有2…
学习笔记 第一章:winform基础 一.概述 1.Windows Form(简称WinForm) 是微软.NET平台下用于开发"图形界面"应用程序的组件. 2.C/S架构 客户机(Client)/服务器(Server),是软件系统体系结构. 通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销. B/S 二.在VS中新建窗体程序 1.认识窗体程序--第一个窗体程序 1) 窗体设计器 : 设置窗体界面(经常操作) 每个窗体都有…
一.概述 本文要实现的功能是:当窗体最大化时,控件的大小可以随窗体一起变化.开发环境,vs2010 c# winform,窗体名称采用默认的Form1. 2.把调整控件大小的方法放到一个类中:FormSetSelfAuto.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using System.Drawing;…
关于怎么在winform里增加登录窗体或者如何让winform程序单实例运行网上都很多例子. 然而两者结合起来呢? //Program.cs static class Program { public static EventWaitHandle ProgramStarted; /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main…
WinForm 窗体显示位置 窗体显示的位置首先由窗体的StartPosition决定,FormStartPosition这个枚举值由如下几种情况 // 摘要: // 窗体的位置由 System.Windows.Forms.Control.Location 属性确定. Manual = , // // 摘要: // 窗体在当前显示窗口中居中,其尺寸在窗体大小中指定. CenterScreen = , // // 摘要: // 窗体定位在 Windows 默认位置,其尺寸在窗体大小中指定. Win…
问题1:窗体切换后如何关闭,并释放资? c# winform中,2个窗体,form1和form2,互相切换的时候执行 this.Hide(); Form2 form2 = new Form2(); form2.Show(); 此时你会发现当Form2显现时,Form1隐藏了,但当你关闭Form2时,其进程并没有关闭.也就是说资源并没有释放! 我在网上查了很多的资料,很多都没有解决,通过我的实验后我发现: 只要是 主窗口被关闭了,所有的资源都会释放, 但在关闭从窗口时(Form2)时,资源并没有释…
1.另一窗体建公共变量listdataRow public List<DataGridViewRow> listdataRow = new List<DataGridViewRow>(); FRM_TR_CurrencyQueryEx_View2_DLCR frmTrCurrencyQueryEx = new FRM_TR_CurrencyQueryEx_View2_DLCR(cbx_selectType.Text); frmTrCurrencyQueryEx.ShowDialog…
MDI窗体容器: 一般来说,窗体是顶级容器,不允许放在其他任何容器内,但是如果将某个窗体的IsMdiContainer属性设置为True,那此窗体就会成为窗体容器,可以在其中放入其他窗体 在内部的窗体不管怎么调整,是无法跳出其父级窗体容器的 注:如果想让内部窗体一直最大化并且不要其显示最大化最小化按钮,可将其FormBorderStyle设置为None,Win7系统另外需要将此窗体放入一个Panel容器中 private void 销售ToolStripMenuItem_Click(object…
MDI窗体容器: 一般来说,窗体是顶级容器,不允许放在其他任何容器内,但是如果将某个窗体的IsMdiContainer属性设置为True,那此窗体就会成为窗体容器,可以在其中放入其他窗体 在内部的窗体不管怎么调整,是无法跳出其父级窗体容器的 注:如果想让内部窗体一直最大化并且不要其显示最大化最小化按钮,可将其FormBorderStyle设置为None,Win7系统另外需要将此窗体放入一个Panel容器中 private void 销售ToolStripMenuItem_Click(object…
无边框窗体移动://窗体移动API [DllImport("user32.dll")] public static extern bool ReleaseCapture(); [DllImport("user32.dll")] public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int IParam); public const int WM_SYSCOMMAND = 0x…
MDI窗体容器 权限  using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using WindowsFormsApplication1.App_Code; namespace Win…
多窗体:一.首先要想到的问题是:1.哪个是主窗体问题:主窗体隐藏了,关闭其它窗体后,没有将主窗体显示/关闭,那么程序就关不上了 方法:用构造函数传值,将窗体传到另一个窗体中去 Form1: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;…
有窗体Form1和窗体Form2,单击Form1按钮弹出Form2,单击Form2吧Form2的textBox控件文本传给Form1的label控件. 窗体1里: 实例化Form2,注册Form2的事件,并弹出窗体. public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2…