Windows应用程序和控制台应用程序有很大的区别

》Form1.cs  :窗体文件,程序员对窗体编写的代码一般都存放在这个文件中。

》Form1.Designer.cs :窗体设计文件,其中的代码是有Visual Studio自动生成的,一般不需要修改。

》Form1.resx  :资源文件,用来配置当前窗体所使用的字符串,图片等资源。

》Program.cs  :主程序文件,其中包含程序入口的Main()方法

Partial  》     在窗体类的前面多了一个partial  。     partial是“部分的”意思,在C#中,为了方便对代码的管理和编辑,

可以使用partial关键字将同一个类的代码分开放在多个文件中。每个文件都是类的一部分代码,叫做分布类。代码编译时,

编译器再将各个分布类的代码合、合并到一起出处理。

Form是 .NetframWork定义好的一个最基本的窗体类,具有窗体的一些最基本的属性和方法,冒号表示继承,我们创建的窗体都继承自Form类,

那么他就具有了Form类,那么它就具有了Form类中的属性和方法,接下来就来简单了解下窗体的主要属性和方法吧

窗体的主要属性
Name 窗体对象的名称,用以在代码中进行标识
BackColor 窗体的背景色
BackgroundImage 窗体的背景图像
FormBorderStyle 窗体显示的边框样式,有7个可选的值,默认为SizaBle
MaximizeBox 确定标题栏的右上角是否有最大框值,默认为true
ShowInTaskbar 确定窗体是否出现在Windows任务栏中,默认为true 
StartPosition 确定窗体第一次出现的位置
Text 窗体标题栏中显示的文本
TopMost 指示窗体是否始终显示在此属性未设置为true的所有窗体之上,默认为false
WindowState 确定窗体的初始可视状态,包括Normal(普通)、Maximized(最大化)、Minimized(最小化),默认为Normal
   
窗体的主要方法
Close() 关闭窗体

Show()

显示窗体
ShowDialog() 模式化显示窗体
Hide() 隐藏窗体

FormBorderStyle用于设置窗体的边框样式,如果不希望窗体运行后,用户通过鼠标拖拽改变窗体大小,在设计的时

要将窗体的FormBorderStyle属性值设置为FixedSingle

》》》基本控件

》》标签:用于显示用户不能编辑的文本或图像

》Image  在窗体上显示的图像

》Text  在窗体上显示的文本

》》文本框:用于获取用户输入的信息或向用户显示的文本

》MaxLength  指示可以在文本框中输入的最大字符数

》MultiLine  表示是否可以在文本框中输入多行文本

》PasswordChar  指示在作为密码框时,文本框中显示的字符,而不是实际输入的文本

》ReadOnly  指示是否允许编辑文本框中的文本

》Text  与文本框关联的文本

》》组合框:它结合了文本框和列表框的特点,允许用户在组合框中输入文本,或在列表中进行选择

》Items  组合框中的项

》DropDownStyle  定义组合框的风格,指示是否显示列表框部分,是否允许用户编辑文本框部分

》Text  与组合框关联的文本

》SelectedIndex  当前选定项目的索引号,列表框中的每个项都有一个索引号,从0开始

》SelectedItem  获取当前选定的项

》》_____组合框中的事件:

》Click  单机控件时发生

》SelectedIndexChanged  在SelectedIndex属性修改后发生

》》按钮:允许用户通过单机来执行操作

》Enable  布尔值,表示控件是否可用,True表示为可用,False表示不可用,如果控件不可用,运行后显示为灰色

》Text  按钮上显示的文本

》TextAlign  按钮上文本的对齐方式

》》_____按钮中的事件

》Click  单机控件时发生

小知识:控件命名时要遵循一定的规范,比较通用的规范:控件类名的缩写+有含义的英文单词。

eg:Button控件的缩写是btn,那么“登录”按钮就可以命名为btnLogin

控件的通用属性:Text、Name、Enable等,这些属性在不同的控件中表示的含义是一样的。

》》》MessageBox消息框

  在WinForm中,消息框是一个MessageBox对象。那么,如何创建消息框呢?这就需要使用MessageBox的Show()方法。

  Eg:

    //带标题、按钮、图标的消息框

    MessageBox.Show(要显示的字符串,消息框的标题,消息框按钮,消息框图标)

小知识:判断空字符串时,string.Empty与null的区别是什么?

解答:string.Empty表示空字符串,即字符串对象中不包含任何字符,而null表示空引用,即不引用任何对象。

》》》窗体间的数据传递

》》在Test类中定义一个公有的变量Name  

public string Name;

》》在登陆的窗体中为Name赋值(为Name赋值后,在任意一个类中皆可调用)

Test.Name = txtName.text;

》》在修改密码窗体中进行引用Name的值

newName.text = Test.Name;

更多精彩,敬请期待~

新认知之WinForm窗体程序的更多相关文章

  1. 使用控制台调试WinForm窗体程序

    .程序代码结构 .Win32DebuggerHelper.cs using System.Runtime.InteropServices; /* TODO:使用方法 Win32.AllocConsol ...

  2. 【转载】Visual Studio中WinForm窗体程序如何切换.NET Framework版本

    在C#语言的WinForm窗体程序中,有时候我们需要切换WinForm窗体程序项目的.NET Framework版本号,例如从.NET Framework 4.5版本切换到.NET Framework ...

  3. 【转载】Visual Studio2017如何打包发布Winform窗体程序

    在用C#语言编写好Winform窗体程序后,最后一步的操作是将设计好的Winform程序代码进行打包以及发布成安装包.在Visual Studio2017开发工具中,打包发布WinForm程序是比较简 ...

  4. winform窗体程序运行后怎样隐藏?

    运行winform窗体,我们是怎样隐藏的呢? 例子: 1)创建简单winform窗体 2)编写隐藏窗体程序的代码 3)效果演示 1)创建一个简单的winform窗体MainForm,

  5. WinForm窗体项目 之 MySchool管理系统终极版

    学习WinForm窗体程序也有一段时间了,今天就来尝试着来一个项目热热身~ 在我们通常使用的MySchool管理中,不外乎这几种功能:增.删.改.查.改密码 在过去的C#中确实是挺简单的,但是在学习了 ...

  6. WinForm窗体下Excel的导入

    一.Winform窗体程序的Excel的导入 把Excel导入到内存中的DataTable 方法实现: #region ExcelToDataTable public static DataTable ...

  7. winform窗体继承泛型类时,设计器无法使用解决办法

    当我们使用winform程序时,winform窗体程序和控件程序都是可以通过设计器进行控件拖拽的,但如果我们继承了一个带有泛型的form基类.那么设计器是无法使用的. 目前我没有找到根本解决的办法,但 ...

  8. 解决Winform应用程序中窗体背景闪烁的问题

    本文转载:https://my.oschina.net/Tsybius2014/blog/659742 我的操作系统是Win7,使用的VS版本是VS2012,文中的代码都是C#代码. 这几天遇到一个问 ...

  9. [工作札记]03: 微软Winform窗体中ListView、DataGridView等控件的Bug,会导致程序编译失败,影响范围:到最新的.net4.7.2都有

    工作中,我们发现了微软.net WinForm的一个Bug,会导致窗体设计器自动生成的代码失效,这个Bug从.net4.5到最新的.net4.7.2都存在,一直没有解决.最初是我在教学工作中发现的,后 ...

随机推荐

  1. DS26C31M和DS26C32AM

    DS26C31M是产生差分信号的芯片,实际使用的时候,测得在5V供电的情况下,输出+和输出-的压差是5V其中输出+和输入的特性相同. DS26C32AM是接收差分信号的芯片,与DS26C31M可以向配 ...

  2. 调试LM1117电压转换芯片

    LM1117(不是LM117)电源芯片是低压差线性稳压器,简称LDO(low dropout regulator),是一种非隔离(输入输出电压的地是一个地)的电压转换芯片.因此,在使用的时候,尽量让输 ...

  3. 手写DAO框架(三)-数据库连接

    -------前篇:手写DAO框架(二)-开发前的最后准备--------- 前言 上一篇主要是温习了一下基础知识,然后将整个项目按照模块进行了划分.因为是个人项目,一个人开发,本人采用了自底向上的开 ...

  4. [luoguP2680] 运输计划(lca + 二分 + 差分)

    传送门 暴力做法 50 ~ 60 枚举删边,求最大路径长度的最小值. 其中最大路径长度运用到了lca 我们发现,求lca的过程已经不能优化了,那么看看枚举删边的过程能不能优化. 先把边按照权值排序,然 ...

  5. Memcached的Web管理工具MemAdmin(待实践)

    Memcached的Web管理工具有很多,但是最好用的应该是MemAdmin.基于PHP5开发,所以部署时要注意环境. 介绍:http://www.junopen.com/memadmin/ 下载:h ...

  6. 29、Java并发性和多线程-非阻塞算法

    以下内容转自http://ifeve.com/non-blocking-algorithms/: 在并发上下文中,非阻塞算法是一种允许线程在阻塞其他线程的情况下访问共享状态的算法.在绝大多数项目中,在 ...

  7. 犀牛Phinoceros 如何切换中文语言

    Tools-Options-Rhino Options-Appearance,然后改成中文        

  8. Hibernate插入错误:GenericJDBCException: could not insert:

    数据库中一般不能建立user(表名为User)表,将User类改名,又一次建立映射,问题就能够解决 当然,还有还有一种情况.就是类中id类型错误.要设置为Integer型才干够设置自己主动增长,否则也 ...

  9. 躁动不安的const

    就是用来恐吓你的 我能想到的,最短的.且const最多的一个语句是: int const * fun(int const*const a[],const int index)const; 而这个语句还 ...

  10. LeetCode 680. Valid Palindrome II (验证回文字符串 Ⅱ)

    Given a non-empty string s, you may delete at most one character. Judge whether you can make it a pa ...