青软实训.NET学习笔记(4)--WinForm技术初接触
1、以下代码表示的是一个最简单的Windows Forms应用程序。当Visual Studio 2010发现一个扩展了System.Windows.Forms.Form的类时,将尝试打开相关的GUI设计器(前提是该类为C#代码文件中的第一个类)。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace SimpleWinFormsApp
{
//这是我们的主窗口
class MainWindow : Form { }
//这是我们的应用程序对象
class Program
{
static void Main(string[] args)
{
Application.Run(new MainWindow());
}
}
}
2、当你需要填充Form派生类型的UI时,只需遵循如下步骤即可:
(1)、在Form子类中,定义一个指定UI元素的成员变量;
(2)、配置UI元素的外观;
(3)、通过调用Controls.Add()把UI元素添加到窗体的ControlsCollection容器中。
如下段程序,运行会得到一个简单的自定义菜单呢系统:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace SimpleWinFormsApp
{
//这是我们的主窗口
class MainWindow : Form
{
//用来构建简单菜单系统的成员
private MenuStrip mnuMainMenu = new MenuStrip();
private ToolStripMenuItem mnuFile = new ToolStripMenuItem();
private ToolStripMenuItem mnuFileExit = new ToolStripMenuItem();
public MainWindow()
{ }
public MainWindow(string title, int height, int width)
{
//在父类中设置各种属性
Text = title;
Width = width;
Height = height;
//使窗口居中的继承方法
CenterToScreen();
//用来创建菜单系统的方法
BuildMenuSystem();
}
private void BuildMenuSystem()
{
//把File菜单项添加到主菜单中
mnuFile.Text = "&File";
mnuMainMenu.Items.Add(mnuFile);
//把Exit菜单项添加到File菜单中
mnuFileExit.Text = "E&xit";//&来实现ALT+F的功能
mnuFile.DropDownItems.Add(mnuFileExit);
mnuFileExit.Click += (o, s) => Application.Exit();
//最后,把这些菜单添加到窗体中
Controls.Add(this.mnuMainMenu);
MainMenuStrip = this.mnuMainMenu;
}
}
//这是我们的应用程序对象
class Program
{
static void Main(string[] args)
{
Application.Run(new MainWindow("myWindows",200,300));
}
}
}
3、开发最佳实践:为了便于实际使用,在用Visual Studio创建Windows Forms应用程序时,应该忽略所有的*.Designer.cs文件并且允许IDE来维护他们。
4、在任何情况下,每个Windows Form应用程序的窗口都是通过分部类进行整合的。
青软实训.NET学习笔记(4)--WinForm技术初接触相关推荐
- 青软实训.Net学习笔记
1.Console类:表示控制台应用程序的基本输入流.输出流和错误流.此类不能被继承. 2.装箱:值类型转换成引用类型 int i=123; object o=(object)i; 拆 ...
- 青软实训.NET学习笔记(5)---泛型
1.System.Collections.Generic命名空间---一个以集合为中心的新命名空间 2.拆箱必须回到合适的数据类型,如果尝试将数据拆箱为不正确的变量,将抛出InvaildCastExc ...
- 青软实训.NET学习笔记(2)
1.Random()生成随机数. 2.通过构造函数只读(readonly)字段赋值. 3.采用ref传递参数,采用引用的方式,及被传入的和已传入的变量指向同一地址.由于采用引用方式,所以方法内ref参 ...
- 青软实训.Net学习笔记(3)--接口
1.接口就是一组抽象成员的集合. 2.一个类(或者一个结构)可以支持任意数量的接口,因此也就支持了多种行为. 3.最佳实践:.NET接口多以大写字母"I"作为前缀. 4.接口不指定 ...
- 青软实训.NET学习笔记(6)---委托
1.在.NET平台下,委托类型用来定义和响应应用程序中的回调.事实上,.NET委托类型是一个类型安全的对象,指向可以以后调用的其他方法.和传统的C++函数指针不同,.NET委托是内置支持多路广播和异步 ...
- QST青软实训学员学习总结
这次社会实践,首先带队老师带我们参观了国家级软件园.城市规划馆.让我更深入地了解到IT行业的飞速发展,以及庞大的市场前景和大公司对人才的迫切需求,这让我感觉自己选的专业没让我失望.同时,我也看到了如皋 ...
- QST青软实训学员学习总结-2020/4/22-ZigBee
时光飞逝,日月如梭,时间滴答滴答的就过去了. 转眼间就迎来了四月的尾声,我国国内的疫情情况呈逐渐向好的方向,外防输入,内防反弹.成为我国当前防疫工作的主要目标.但纵观世界的疫情局面任然严峻,我们还是不 ...
- QST青软实训学员学习总结-2020/5/24-STM32
时光飞逝,日月如梭,时间滴答滴答的就过去了. 五月的尾声即将到来,然而我们依然距离开学还是寥寥无期,但我依然怀着一颗充满期待的心,我相信病毒终将退去,曙光必然来临. 在家待的时间长了,我的自律性.积极 ...
- 我参加“青软实训”的培训
我现在也参加青软实训了,刚刚开始的时候,我从来就没有认为我会参加这个培训,谁知道现在已经是那儿的学员了,真有种鬼使神差的感觉. 幸好给我们上课的杨老师听好的,我现在认为我上这个培训还是值得的,至少现在 ...
最新文章
- RGB+Depth规则箱体测量方案
- 一张图,看清人体触碰禁区
- Linux 命令之 df -- 显示磁盘空间使用情况
- 明日之后怎么跳过实名认证_明日之后宝箱达人活动怎么玩 明日之后宝箱达人可以开箱多少次...
- 技巧 | 如何批量地将整型变量转换为因子变量
- JavaScript 预解析机制
- python模拟浏览器下载文件_python第一个脚本,模拟浏览器下载文件 | 学步园
- NSAssert与assert断言
- 类 ArrayBlockingQueueE(一个由数组支持的有界阻塞队列。)
- Spring Boot 启动参数设置详解
- python读取txt矩阵数据(转换为excel格式利用pandas读取)
- 跟我一起学docker(14)--docker swarm的使用
- Cognos组织架构介绍
- Qt通过ODBC连接opengauss数据库
- 成为阿里云架构师的进阶之路——阿里云首批ACE认证通过者逸疏专访
- PVM振动测量2018~2020调研整理
- 顺丰笔试-赏金猎人2020-08-20(参考时间最大利益)
- 与十俱进 2018双11狂欢看淘宝技术创新力
- Writeback和Writethrough区别
- DIE(一个JS引擎Fuzzing工具)安装教程