窗体的常用属性
控件窗体属性与事件
1、窗体最大化、最小化按钮的行为
form1.ControlBox = true;或false /// 设置是否出现最大化、最小化和关闭按钮
form1.MaxmizeBox = true;或false /// 设置最大化按钮是否有效
form1.MinimizeBox = true;或 false /// 设置最小化按钮是否有效
如果当ControlBox = true MaxmizeBox = false MinimizeBox = false 而 HelpButton = true 时
就可以看到有个帮助的按钮出现在关闭按钮旁边。
2、设置窗体边框的外观、以前叫窗体的风格
form1.FormBorderStyle =None 或FixedSingle 或Fixed3D 或FixedDialog 或Sizable(default) 或FixedToolWindow 或SizableToolWindow
3,Name:名称;this.button2.Name = "button2";,
4,BackColor:设置控件背景颜色;,
5,Enabled:是否可用;,
6,FlayStyle:控件样式;
7,Image:设置控件图像;,8,ImageAlign:图像对齐方式;,9,ImageList:图像ImageList索引值;,
10,坐标Location例:this.button2.Location = new System.Drawing.Point(272, 234);
11,控件显示或隐藏 控件名称.Visible = true;或false
12,Size:大小;this.label4.Size = new System.Drawing.Size(53, 12);
13,Tabindex:控件顺序索引;this.textBox1.TabIndex = 5;
14,Text:文本; this.label3.Text = "注册";
15,TextAlign:文本对齐方式;
,16,Font:字体; this.textBox1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
17,Windowstate:状态;默认/最大化/最小化,
18,Opacity:透明度; this.Opacity =0.95D;这是95%
19,Ismidcontainer:该窗体是否MDI容器;
20,Dock绑定控件边框 this.pictureBox1.Dock = System.Windows.Forms.DockStyle.Fill;
控件.Dock=DockStyle.Bottom(Dock的方式)
21,Anchor绑定控件到容器边缘 this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
22,Icon:窗体icon图标;
23,Tabstop是否控件提供焦点 this.richTextBox1.TabStop = false;
24,WordWrap编辑控件是否自动换行this.richTextBox1.WordWrap = true;或false
25,Enable:是否可用;
26,ContentMenuStrip:设置右键弹出菜单;this.richTextBox1.ContextMenuStrip = this.contextMenuStrip1;,
27,Startposition:设置首次显示的位置; this.StartPosition = System.Windows.Forms.FormStartPosition.WindowsDefaultBounds;
28,关闭窗体的四种方法
1. close():指仅关闭当前窗体
2. Application.Exit(): 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出。
3. Application.ExitThread(): 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题。
4. System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。 参数0:代表程序正常退出;参数1:代表程序非正常退出。
二,窗体事件
1,Load:载入事件;,
2,Formclosed:关闭事件;
3,Sizechanged:窗体大小改变事件;,
4,MaximumSizechanged:窗体最大化事件;
5,MinimumSizechanged:窗体最小化事件;
Load 默认事件(加载控件或窗体的设置)
Click点击事件
Doubleclick双击事件
Formclosed 窗体关闭(窗体已经关闭时)
Keydown 键盘上的某个键的时候
Keypress 键被按下时
Keyup 键被弹起时
Load 窗体运行完成即为加载,加载完成会触发
Mouseclick 鼠标点击
Mousedoubleclick 鼠标双击
Mousedown鼠标按键按下
MouseHover 鼠标光标悬停
MouseMove 鼠标移动窗体
MouseUp 鼠标释放
MouseEnter 当鼠标进入这个区域的时候触发的事件
TextChange 当文本输入的时候出发的事件
Paint 重新绘图事件,当窗体隐藏或者最小化,在弹出的时候触发
Cellvaluechange 当单元格的值被改变的时候
建立多窗体程序
//第一:创建窗体对象
窗体类 窗体对象 = new 窗体类() ;
//第二:显示窗体
窗体对象.Show() ;
或
窗体对象.ShowDialog() ;
或
if(窗体对象==null || 窗体对象.IsDisposed)
{
窗体对象 = new 窗体类() ;
窗体对象.Show() ;
}
3、传参 -> 构造方法
第一:创建窗体对象,把数据放在构造方法中传递
窗体类 窗体对象 = new 窗体类(数据1,数据2,...,数据n) ;
注:
在窗体类中,默认只有一个缺省的构造方法(没有参数的构造方法)
在窗体类中,必须存在对应的构造方法,且InitializeComponent()不能丢
第二:在窗体类中,定义对应参数的构造方法
第三:在窗体类中,定义对应的全局变量,接收构造方法获取的参数数据
第四:使用传递过来的数据->调用全局变量
第五:调用方法,显示窗体
窗体对象.Show() ;
注意:
1)如果要传递多个数据,且这些数据都是相关的,我们一般把这些数据封装成相关的对象进行传递。
2)如果在第二个窗体中,要操作第一个窗体,怎么办呢?
在创建第二个窗体实例对象时,通过构造方法,把第一个窗体传递过去:
窗体类 窗体对象 = new 窗体类(this) ;
窗体类 窗体对象 = new 窗体类(this,数据1,...,数据N) ;