C#开发winform程序的界面框架
首先创建一个“Windows应用程序”,默认的“Form1”文件修改为MainForm的窗体,作为程序的主窗体。从控件箱拖3个控件过来:MenuStrip、ToolStrip、StatusStrip。可以修改ToolStrip的Dock属性设置TOOL位置,这样就类似fram的content了。把MainForm的“IsMdiContainer”设置成true,意思是可以容纳多个Form对象。
下面我们可以创建一批Form,每个Form实现不同的功能。这些Form的“FormBorderStyle”都要设置成None,这样就会隐藏最大化最小化那些按钮。另外要把AutoSize设置为true,目的是让Form能自适应主窗体的大小。把“ShowInTaskbar”设置为false。
在这些子Form的Load事件中,添加一个函数,写下这么一句:
this.Dock = DockStyle.Fill;
这是为了填满主窗体。
接下来,在主窗体的ToolStrip控件中添加一些按钮,然后编写click这些按钮的函数。在函数中首先需要生成子Form的实例,然后增加关键的一句:
form_child.MdiParent = this;
这句代码的意思是,让MainForm包含这个子窗体。
当你在ToolStrip中增加了多个按钮,那么在click按钮时,需要判断一下对应的子Form是不是已经有实例了,如果有,就用form_child.Show()就能显示这个子Form了。
C#开发winform程序的界面框架的更多相关文章
- 使用efwplusScript开发Winform程序【像小程序那样开发PC软件】
一.前言 本人从事多年医疗管理软件的开发,在医院大多数的软件都还是CS程序,BS程序很少,对于使用者来说CS的操作体验确实比BS的要好. 1.CS的缺点就是升级麻烦,每次有新版本都需要所有客户端操作升 ...
- winform程序中界面的跳转问题
首先是我们进行窗口间的跳转,尤其注意的是winform程序里面的空间都是中线程安全的.但是注意的是如果你在一个线程中操纵另外的控件,这时候会提示你一个错误,这个错误的解决方法准备单独的在另一篇文章中来 ...
- 【转】合理的布局,绚丽的样式,谈谈Winform程序的界面设计
从事Winform开发很多年了,由于项目的需要,设计过各种各样的界面效果.一般来说,运用传统的界面控件元素,合理设计布局,能够设计出比较中规中矩的标准界面:利用一些换肤的控件或者部分界面组件,能够设计 ...
- 合理的布局,绚丽的样式,谈谈Winform程序的界面设计
转载,不错的学习文章 阅读后,起初不太明白,试验了几次后明白了dev的强大.从事Winform开发很多年了,由于项目的需要,设计过各种各样的界面效果.一般来说,运用传统的界面控件元素,合理设计布局,能 ...
- 关于使用dotnetbar开发winform程序在用户电脑上部署时问题
1.首先要安装两个软件
- 【转】VS2013 C#WinForm程序构造界面拖动控件NumericUpDown时"未响应“是有道词典惹的祸
很久之前遇到过因为金山词霸和其他软件冲突导致的程序无响应的情况. 没想到今天情况重现,VS2013在可视化编辑NumbericUpDown控件的时候,又出现了”未响应“,发现又是有道词典惹的祸. 可见 ...
- winform程序关闭界面时弹出提示框
void Form1_FormClosing(object sender, FormClosingEventArgs e){ if (MessageBox.Show( "窗口关闭后,数据即将 ...
- 开发winform程序,在拖拽控件大小时,VS会卡死
你可以看看你最近有没有装什么新的软件,比如说:有道词典就会与VS有冲突,导致卡死,可以把进程关闭.
- 快速上手小程序的mpvue框架
一.什么是mpvue框架? mpvue 是一个使用 Vue.js 开发小程序的前端框架.框架基于 Vue.js 核心(所以建议熟练掌握vue再使用mpvue框架,否则还是建议去使用原生框架去写小程序) ...
随机推荐
- NOIP练习赛题目3
魔兽争霸 难度级别:C: 运行时间限制:1000ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 小x正在销魂地玩魔兽他正控制着死亡骑士和n个食尸鬼(编号1-n)去打 ...
- BZOJ2973 : 石头游戏
考虑到$lcm(1,2,3,4,5,6)=60$,所以操作序列每60秒一个循环. 将操作表示成转移矩阵的形式,预处理出前60秒的转移矩阵以及它们的乘积$B$. 那么t秒的转移矩阵为前$t\bmod 6 ...
- ibatis的缓存机制
Cache 在特定硬件基础上(同时假设系统不存在设计上的缺漏和糟糕低效的SQL 语句)Cache往往是提升系统性能的最关键因素). 相对Hibernate 等封装较为严密的 ...
- 如何快速将Linux文件系统迁移到Azure存储
概述 前一段时间一直在给一个客户将原先搭载在Linux(客户使用的是CentOS 7.0)上的NFS快速迁移到Azure存储上,并且为了保证数据完整性还需要另开一个存储做冷备,架构图如下: 通过Cli ...
- Java-JVM-GC
http://www.cnblogs.com/zhguang/p/Java-JVM-GC.html
- 解决ASP.NET MVC4中使用Html.DropDownListFor显示枚举值默认项问题
从ASP.NET MVC 5开始,Html.DropDownListFor已经提供了对Enum的支持,但在这以前,需要通过帮助方法或扩展方法来让Html.DropDownListFor显示枚举值. 本 ...
- could not load inserted library: /usr/lib/libgmalloc.dylib
本人也刚开始学习iphone开发,最近维护一个程序时,不知道怎么弄的,不能build到真机了,到模拟器没有什么问题,出现的错误是 :---->>>could not load ins ...
- 查询 EBS 系统物料净重、毛重
/* Formatted on 2018/3/14 23:40:47 (QP5 v5.256.13226.35538) */ SELECT DISTINCT MSI.SEGMENT1 || ',' 物 ...
- Android 类加载原理 和热修复——深入浅出原理与实现
一.简述 热修复无疑是这2年较火的新技术,是作为安卓工程师必学的技能之一.在热修复出现之前,一个已经上线的app中如果出现了bug,即使是一个非常小的bug,不及时更新的话有可能存在风险,若要及时更新 ...
- Android获取actionbar高度和StatusBar高度的方法
ActionBar: getActionBar().getHeight(); StatusBar: /** * 获取状态栏高度 * * @return */ public static int get ...