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技术初接触相关推荐

  1. 青软实训.Net学习笔记

    1.Console类:表示控制台应用程序的基本输入流.输出流和错误流.此类不能被继承. 2.装箱:值类型转换成引用类型  int i=123;  object o=(object)i;       拆 ...

  2. 青软实训.NET学习笔记(5)---泛型

    1.System.Collections.Generic命名空间---一个以集合为中心的新命名空间 2.拆箱必须回到合适的数据类型,如果尝试将数据拆箱为不正确的变量,将抛出InvaildCastExc ...

  3. 青软实训.NET学习笔记(2)

    1.Random()生成随机数. 2.通过构造函数只读(readonly)字段赋值. 3.采用ref传递参数,采用引用的方式,及被传入的和已传入的变量指向同一地址.由于采用引用方式,所以方法内ref参 ...

  4. 青软实训.Net学习笔记(3)--接口

    1.接口就是一组抽象成员的集合. 2.一个类(或者一个结构)可以支持任意数量的接口,因此也就支持了多种行为. 3.最佳实践:.NET接口多以大写字母"I"作为前缀. 4.接口不指定 ...

  5. 青软实训.NET学习笔记(6)---委托

    1.在.NET平台下,委托类型用来定义和响应应用程序中的回调.事实上,.NET委托类型是一个类型安全的对象,指向可以以后调用的其他方法.和传统的C++函数指针不同,.NET委托是内置支持多路广播和异步 ...

  6. QST青软实训学员学习总结

    这次社会实践,首先带队老师带我们参观了国家级软件园.城市规划馆.让我更深入地了解到IT行业的飞速发展,以及庞大的市场前景和大公司对人才的迫切需求,这让我感觉自己选的专业没让我失望.同时,我也看到了如皋 ...

  7. QST青软实训学员学习总结-2020/4/22-ZigBee

    时光飞逝,日月如梭,时间滴答滴答的就过去了. 转眼间就迎来了四月的尾声,我国国内的疫情情况呈逐渐向好的方向,外防输入,内防反弹.成为我国当前防疫工作的主要目标.但纵观世界的疫情局面任然严峻,我们还是不 ...

  8. QST青软实训学员学习总结-2020/5/24-STM32

    时光飞逝,日月如梭,时间滴答滴答的就过去了. 五月的尾声即将到来,然而我们依然距离开学还是寥寥无期,但我依然怀着一颗充满期待的心,我相信病毒终将退去,曙光必然来临. 在家待的时间长了,我的自律性.积极 ...

  9. 我参加“青软实训”的培训

    我现在也参加青软实训了,刚刚开始的时候,我从来就没有认为我会参加这个培训,谁知道现在已经是那儿的学员了,真有种鬼使神差的感觉. 幸好给我们上课的杨老师听好的,我现在认为我上这个培训还是值得的,至少现在 ...

最新文章

  1. RGB+Depth规则箱体测量方案
  2. 一张图,看清人体触碰禁区
  3. Linux 命令之 df -- 显示磁盘空间使用情况
  4. 明日之后怎么跳过实名认证_明日之后宝箱达人活动怎么玩 明日之后宝箱达人可以开箱多少次...
  5. 技巧 | 如何批量地将整型变量转换为因子变量
  6. JavaScript 预解析机制
  7. python模拟浏览器下载文件_python第一个脚本,模拟浏览器下载文件 | 学步园
  8. NSAssert与assert断言
  9. 类 ArrayBlockingQueueE(一个由数组支持的有界阻塞队列。)
  10. Spring Boot 启动参数设置详解
  11. python读取txt矩阵数据(转换为excel格式利用pandas读取)
  12. 跟我一起学docker(14)--docker swarm的使用
  13. Cognos组织架构介绍
  14. Qt通过ODBC连接opengauss数据库
  15. 成为阿里云架构师的进阶之路——阿里云首批ACE认证通过者逸疏专访
  16. PVM振动测量2018~2020调研整理
  17. 顺丰笔试-赏金猎人2020-08-20(参考时间最大利益)
  18. 与十俱进 2018双11狂欢看淘宝技术创新力
  19. Writeback和Writethrough区别
  20. DIE(一个JS引擎Fuzzing工具)安装教程

热门文章

  1. 会议论文小套路:解读交通管科类优秀会议论文的文章结构
  2. 用sopa读取webservice
  3. meego用linux软件下载,MeeGo移动应用程序开发入门
  4. 新房装修安吸顶音箱好吗,看完你就明白了
  5. [数据挖掘] 关联规则 Apriori算法实现到PFP(paralled frequent pattern)算法
  6. 令人感叹的10个非主流操作系统
  7. java如何获得wlan mac_如何获取客户端MAC地址(三个方法)
  8. 独立站联盟营销引流大法
  9. MacBookpro自动熄屏后过1小时再打开就自动关机了
  10. 系统运维的一些知识点