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. C#中的定制特性(Attributes)

    C#中的定制特性(Attributes) 介绍 Attributes是一种新的描述信息,我们既可以使用attributes来定义设计期信息(例如:帮助文件.文档的URL),还可能用attributes ...

  2. vim高亮显示当前行列

    vim高亮显示当前行: set cursorline vim高亮显示当前列: set cursorcolumn

  3. CodeForces - 459C - Pashmak and Buses

    先上题目+: C. Pashmak and Buses time limit per test 1 second memory limit per test 256 megabytes input s ...

  4. md5加密的工具类(from 韩顺平)

    输入一个字符串,然后可以进行md5加密 import java.security.*; import java.security.spec.*; public class MyTools { publ ...

  5. 【Google Chrome】Google Chrome快捷键大全

    相信很多朋友在使用过Google Chrome之后,就会不想回到原先使用的浏览器了,尤其是IE.没错Google Chrome的优点很多,已经获得了一大部分网友们的用户,软件志现在也是Firefox+ ...

  6. E - Super Jumping! Jumping! Jumping! DP

    Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. May ...

  7. [poj2234]Matces Game_博弈论

    Matches Game poj-2234 题目大意:n堆石子的Nim游戏,anti-SG. 注释:$1\le n\le 20$. 想法:用Colon定理即可.具体见:小约翰的游戏 最后,附上丑陋的代 ...

  8. 1048 石子归并codevs

    1048 石子归并codevs 题目描述 Description 有n堆石子排成一列,每堆石子有一个重量w[i], 每次合并可以合并相邻的两堆石子,一次合并的代价为两堆石子的重量和w[i]+w[i+1 ...

  9. Java数据库连接池研究

    一.背景 连接池简介: 连接池初始化时创建一定数量的连接,然后从连接池中重用连接,而不是每次创建一个新的. 数据库连接是一种关键的.有限的.昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对 ...

  10. iOS 的单例模式 dispatch_once

    iOS 的单例模式 dispatch_once 有些变量仅仅须要初始化一次(如从文件里读取配置參数.读取设备型号等等),能够使用dispatch_once来进行读取优化.保证仅仅调用API一次,以后就 ...