新认知之WinForm窗体程序
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窗体程序的更多相关文章
- 使用控制台调试WinForm窗体程序
.程序代码结构 .Win32DebuggerHelper.cs using System.Runtime.InteropServices; /* TODO:使用方法 Win32.AllocConsol ...
- 【转载】Visual Studio中WinForm窗体程序如何切换.NET Framework版本
在C#语言的WinForm窗体程序中,有时候我们需要切换WinForm窗体程序项目的.NET Framework版本号,例如从.NET Framework 4.5版本切换到.NET Framework ...
- 【转载】Visual Studio2017如何打包发布Winform窗体程序
在用C#语言编写好Winform窗体程序后,最后一步的操作是将设计好的Winform程序代码进行打包以及发布成安装包.在Visual Studio2017开发工具中,打包发布WinForm程序是比较简 ...
- winform窗体程序运行后怎样隐藏?
运行winform窗体,我们是怎样隐藏的呢? 例子: 1)创建简单winform窗体 2)编写隐藏窗体程序的代码 3)效果演示 1)创建一个简单的winform窗体MainForm,
- WinForm窗体项目 之 MySchool管理系统终极版
学习WinForm窗体程序也有一段时间了,今天就来尝试着来一个项目热热身~ 在我们通常使用的MySchool管理中,不外乎这几种功能:增.删.改.查.改密码 在过去的C#中确实是挺简单的,但是在学习了 ...
- WinForm窗体下Excel的导入
一.Winform窗体程序的Excel的导入 把Excel导入到内存中的DataTable 方法实现: #region ExcelToDataTable public static DataTable ...
- winform窗体继承泛型类时,设计器无法使用解决办法
当我们使用winform程序时,winform窗体程序和控件程序都是可以通过设计器进行控件拖拽的,但如果我们继承了一个带有泛型的form基类.那么设计器是无法使用的. 目前我没有找到根本解决的办法,但 ...
- 解决Winform应用程序中窗体背景闪烁的问题
本文转载:https://my.oschina.net/Tsybius2014/blog/659742 我的操作系统是Win7,使用的VS版本是VS2012,文中的代码都是C#代码. 这几天遇到一个问 ...
- [工作札记]03: 微软Winform窗体中ListView、DataGridView等控件的Bug,会导致程序编译失败,影响范围:到最新的.net4.7.2都有
工作中,我们发现了微软.net WinForm的一个Bug,会导致窗体设计器自动生成的代码失效,这个Bug从.net4.5到最新的.net4.7.2都存在,一直没有解决.最初是我在教学工作中发现的,后 ...
随机推荐
- 【Java基础】Java基本数据类型与位运算
1.赋值运算符 赋值使用操作符“=”.它的意思是“取右边的值(即右值),把它复制给左边(即左值)”.右值可以是任何 常数.变量或者表达式 (只要它能 生成 一个值就行).但左值必须是一个明确的,已命名 ...
- IDEA中用jetty启动项目时,url 404
问题背景:IDE:IDEA 语言:java 服务器:jetty 框架:nutz 问题描述: 按照nutz构建j2ee项目,配置projectStructor中的依赖,jre,jetty之后,部署,并通 ...
- JAVA NIO 之NIO简介
复习NIO知识,权当做笔记~~ 在NIO之前先复习一下 1.I/O类简图 2.通常我们把网络通信也归到IO行为中,例如网络编程中的scoket通信. 不管是磁盘I/O,还是网络I/O,数据在写入Ou ...
- 洛谷—— P1187 3D模型
https://www.luogu.org/problem/show?pid=1187 题目描述 一座城市建立在规则的n×m网格上,并且网格均由1×1正方形构成.在每个网格上都可以有一个建筑,建筑由若 ...
- - > 并查集+路径压缩(详解)(第一节)
先举一个友爱的例子解释一下并查集: 话说江湖上散落着各式各样的大侠,有上千个之多. 他们没有什么正当职业,整天背着剑在外面走来走去,碰到和自己不是一路人的,就免不了要打一架.但大侠们有一个优点就是讲义 ...
- Java中原始数据类型存放位置理解
原始数据类型的变量存放在栈还是堆,应该由上下文去决定. 如下所示的局部方法中,定义了本地变量a,且为原始数据类型,所以存放在栈中. public void func(){ int a = 3; } 再 ...
- Vue插槽的另外一些特性
之前有个项目,想判断一下,某一个模板内的插槽是否被使用. 不知道是不是问题过于简单,网上没有这方面的说明.我就抽时间验证一下vue插槽相关的一些功能. 然后写下这篇随笔,希望对后来人能有一些帮助. 简 ...
- Linux: 查找使用中的port
找出所有使用中的port netstat -tulpn 输出 Active Internet connections (only servers) Proto Recv-Q Send-Q Local ...
- HDU1026 Ignatius and the Princess I 【BFS】+【路径记录】
Ignatius and the Princess I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (J ...
- iOS中xib与storyboard原理,与Android界面布局的异同
用文本标记语言来进行布局,用的最多的应该是HTML语言.HTML能够理解为有一组特殊标记的XML语言. 一.iOS中xib与storyboard显示原理 在iOS中基本的布置界面的方式有3种:代码.x ...