winform基础笔记

窗体:
1.怎么修改标题
text属性
2.怎么修改图标
窗口样式->icon可以修改

3.窗体出现的位置
startPositon
4.固定窗体的大小

AutoSizeMode设置为GrowAndShrink
5.是否有最大化最小话
MaximizeBox MinimizeBox设置为false

任何控件都有一个基本属性叫name
load就是窗体第一次被初始化

按钮
基本特性:
鼠标滑过(按钮获取焦点)时,按钮的背景发生改变(浅蓝色)[原始状态为灰色]
鼠标“左键按下”北京颜色改变为深蓝色,鼠标弹起,变为浅蓝色

MouseClick与Click
共同点:都会接受鼠标左键单击事件,并且具有共同信息(鼠标单击的位置(x/y),鼠标摁下的键,按下次数)
不同点:MouseClick会接受鼠标其他按键,click不会.[其他按键:左键/中键/其他]
(button比较特殊,仅接受鼠标左键)
MouseHover:鼠标悬停触发(停留一定事件)
MourseLeave:鼠标离开(离开的范围时控件大小)
MourseMove:鼠标滑过(从控件的内部滑动任意位置,)
Enter:变成焦点时触发()
Leave:失去焦点触发(对于按钮,则按下其他按钮才会时)

文本框:TextBox让文本允许多行,Mutiline属性设置为true
让文本右侧出现滚动模块:设置ScrollBars属性为Both即可 (Vertital仅显示垂直滑块,Both则还会显示横向滑块)
只有设置Dock属性后才会出现横向滑块
将文本框内容显示为号,设置PasswordChar属性为即可
密码类型的文本框不允许复制其中内容
Enable 和readOnly的区别
1.readOnly允许复制内容.enable不允许
2.vs中readOnly可以直观的看见变成了灰色。enable只能运行后才可以看见
TextChanged事件获取的时文本框内所有内容,并非每次按键触发的单独内容
AppendText方法:追加文本,在末尾追加新的数据
TextLength 当前文本内容的长度(个数)

下拉列表:ComboBox
text属性的数据为控件显示的内容
SelectedItem是获取当前选择的对象

dropDownStyle设置为simple则是没有下拉按钮
当前dropDownStyle为DropDown时,可以更改下拉框的内容,将会引发使用selectItem的null异常
为避免用户修改,一般设置为DropDownList

做一个联动的逻辑
首先获取cmb1选择的数据
再加载cmb2选择的项目

复选框(Checkbox)
Checked属性,标记当前复选框状态(选中时为True否则False)
ThreeState 会提供三种选中状态
根据CheckState来判断(Checked[选中] , Unchecked[没选中] , Indeterminate[树结构时,会出现的一种状态,表示当前树结构下有一个或多个子项(并不是所有子项)被选中])
CheckedChanged 事件:指示当前控件是否被选中
思路步骤:
1.需要在窗体加载完成时获取所有的checkbox.
1.使用name(如果控件很多时,这就是一个噩梦般的方法)
2.使用this.Controls获取所有的CheckBox
2.对这些checkbox完成事件的赋值.

单选框(RadioButton)笔记
希望使用单独功能时,才选择这个控件,如果希望多个功能请使用CheckedBox

Checked 属性:True被选中否则False.
RadioButton 有区域特性,需要使用其他控件进行分隔.
如果不去添加区域(GroupBox)时,它针对真个窗体为一个区域
GroupBox
使用GpBox时内部的控件不会根据Gp的大小改变而改变(如果缩小GP,那么内部控件将被遮挡);
作用1: 当做RadioButton的选项区域
作用2: 划分控件区域
作用3: 美化
Dock 属性. 作为基本布局.
可以让控件完全贴靠某一个方向(上下左右),或者铺满整个容器

置于底层与置于顶层的作用.

标签(Label)
大部分时候的作用就是当做显示/提示
一些需要使用链接时,使用标签替代
linkLabel 与Label 是一样的功能,提供显示或者提示的功能.
区别: LinkLable有点击时/点击后的视觉特效
实现一个简单的登录 思路
给登录按钮绑定一个Click事件
登录过程:
1.获取用户名,获取密码
2.比对用户名密码
3.对登录结果进行显示(labres.Text = 登录结果)

列表框(ListBox)
SelectionMode = SelectionMode.MultiExtended; 多选(可以使用Shift/Ctrl/鼠标拖选)

山寨思路
选择项目山寨
	设置SelectionMode为One(单选)
	添加选中事件

图片框(PictureBox)
设置Image 属性来完成对图片框的图像进行初始化

			SizeMode会调整当前图像显示的方式
					Normal 不做任何效果(只会显示出图片框大小范围内的图片信息)
					StretchImage 铺满整个图片控件(加载验证码时一般会使用这个模式)
					AutoSize 自动控制大小(控件的大小会随着图片的大小而变化)[Dock属性是不会被齐影响]
					CenterImage 仅在图片中间居中,显示大小跟随控件大小
					Zoom 缩放图片,居中显示
			
			实现读取本地文件思路
					读取图片
						先获取文件路径
						将这个图片读取成Image对象
					pic.Image = Image对象.

OpenFileDialog 打开文件对话框
Filter 属性 设置文件筛选(图片文件|.jpg|所有文件|.*)
DefaultExt 默认后缀名
FileName 获取当前选中的文件
FileNames 获取多个选中的文件

	//一定要添加对ok的判断
	  if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)  
        {
        //在这里才是获取到有效路径.
           txtPath.Text= openFileDialog1.FileName;
        }

FolderBrowserDialog 文件夹浏览对话框

SelectedPath 是选择后的目录绝对路径

RootFolder = Environment.SpecialFolder.Cookies; (默认桌面)不推荐大家修改默认目录,因为有些计算机不是用管理员身份启动,那么他们没有办法访问C盘中的特殊文件夹

	   string Path = Application.StartupPath;  不会增加/需要手动添加

   string cPath = AppDomain.CurrentDomain.BaseDirectory; 会在目录后增加/
   
   课外知识 抽象类
   		abstract 抽象标示符
   		只要是抽象类,类的本身都会具有创建这个抽象类的方法
   
   typeof 获取某个对象的类型
   
     string[] s = Enum.GetNames(typeof(PictureBoxSizeMode)); 获取枚举中的所有Name(也就是显示的文字)
   //根据Name 来得到相应的枚举类型.
   Enum.Parse(typeof(PictureBoxSizeMode), name); 返回typeof 中对应的枚举类型
   
   直接根据值进行强制类型转换
			先决条件 枚举类型的数据必须是连续性的,而且index也是连续性的 并且index与枚举的值是连续的
			
     int index= cmb1.SelectedIndex; //获取当前选择的index
        //将index转换为枚举对象
     PictureBoxSizeMode ps = (PictureBoxSizeMode)index;
     
     向下托选选择:按住键盘的ALT键

日期时间控件(DateTimePicker) 控件会根据你本地的设置而设置
ShowUpDown 开启时,没有下拉选择,只能通过键盘的上下键来调整数值,或者使用UPDown控件调整
Format
Long 长时间类型 (年月日)
Short短时间类型 (2017/6/9)
Time 只显示时间 (17:27:20 PM) 仅显示时间
Custom 自定义时间格式

CustomFormat属性定义自定义显示格式 (yyyy-MM-dd HH:mm:ss 常规格式)[yyyy 年  MM 月份 dd 日期  HH 24小时制: mm 分钟 ss 秒]

Value 属性获取的是本地显示的时间格式. value获取的是时间类型 Datetime;
如果想获取自定义格式的样式时间,那么应该使用Text属性.获取到的是一个文本字符串

进度条(ProgressBar)
两个基本属性
MaxNum(最大值),MinNum(最小值)
Value(当前数值),
Step(增量值) : 每次增长多少

				progressBar1.PerformStep(); 按照Step设置的大小移动
				如果需要做的数据规模较大,不希望每次按照固定数量增长,那么我们可以直接设置value 值来打到目的
				
				使用场景:
								载入资源时
				分步骤:
								1. 读取本地资源.
								2. 读取基本数据.
								3. 同步服务器资源.
				更新文件:
				读取文件
								
								
								
				多个进度条更新思路(
						第一个进度条 p1 最大值100,
						每次增长10.
						p2, 最大值 100,
						每次增长10;
				)
					1.让p1增长;(for p1.maxnum)
					2. p1.value == p1.maxnum , 执行p2的增长;
					
					for (int i=0;i<=p2.maxvalue;i++)
					{
					   for(int j= 0;j<=p1.maxvalue;j++)
					   {
					   		p1.value = j;
					   }
					   p2.value = i;
					}

树控件(TreeView)
层级/分类 展示型控件
Nodes 作为所有子项(子节点)的集合
HotTracking 提供鼠标效果(移动至节点后,节点名称会以下划线形式展示)

列表控件(ListView)
列表展示(表格)
View 显示模式
Details(详细模式)
FullRowSelect 让一行被选中
GridLines 是否显示网格线

					 项:
					 		第一个ListViewItem 它的Text 显示在第一列
					 		它的子项,显示在后面的列
					 		每一个ListViewItem 为一行.Item中的子项(SubItem) 对应剩余的列
					 		当ListViewItem的SubItem超出列数,则不会被显示出来
					 		
					 列:
					 		第一列的文本显示只能在左边(其余列是可以的).
					 		
					 删除时不要以index作为删除依据,因为在删除时会发生index的重新排序.

容器(Panel面板)(SplitContainer分隔容器)(TabControl 选项卡控件)

						Panel面板
									作用: 作为一个控件集合
									
					  一个美化的SplitContainer
					  	首先添加 标签
					  					 隐藏这个标签
					  					 折叠panel1时显示						
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值