C#cSharp windows窗体属性方法事件

1、常用属性

布局
AutoScaleMode
AutoScroll 内容超出范围会出现滚动条
AutoScrollMargin
AutoScrollMinSize
AutoSize:true / false;窗口的范围是否会超出控件的大小;
AutoSizeMode
Location
MaximumSize 窗口可依拖拽的最大时的大小;
MinimumSize 窗口可以拖拽的最小的大小;
Size 窗口打开时默认的大小;,会随时跟着改变
StartPosition 窗体启动位置,center screen会根据屏幕位置居中,center parebt 根据父级窗口居中; 获取或设置窗体运行时的起始位置,取值有 5 种,

1)CenterParent:窗体在其父窗体中居中。   
2)CenterScreen:窗体在当前显示窗口中居中,其尺寸在窗体大小中指定。   
3)Manual:窗体的位置由Location属性确定。   
4)WindowsDefaultBounds:窗体定位在Windows默认位置,边界也由Windows默认决定。   
5)WindowsDefaultLocation:窗体定位在Windows默认位置,其尺寸在窗体大小中指定。

默认为 WindowsDefaultLocation
WindowState 窗体初始化可见状态,初始最小化或者最大化; 获取或设置窗体的窗口状态,取值有3种,即Normal(正常)、Minimized(最小化)、Maximized(最大化),

1)normal:正常尺寸窗口。
2)minimized:最小化窗口。
3)maximized:全屏最大化窗口。
默认为 Normal,即正常显示

窗口样式
ControlBox 是否有标题栏菜单关闭,最大化,最小化
HelpButton
Icon 左上角 ico格式图标
isMdiContainer
MainMenuStrip
MaximizeBox 菜单是否有最大化按钮
MinimizeBox 菜单是否有最小化按钮
Opacity 透明度 100%则一点不透明 0%全透明,整个窗口透明度 ShowIcon 是否显示左上角小图标
ShowInTaskbar 这个窗体是否显示在桌面任务栏中
SzieGripStyle
TopMost 是否置顶显示
TransparencyKey 让某一个颜色变成透明

焦点
CausesValidation
可访问性
AccessibleDescription
AcessibleName
AcessibleRole
设计
(Name)
Language
Localizable
Locked
数据
(ApplicationSettings)
(DataBindings)
Tag

外观

BackColor 背景颜色
BakcgroundImage 背景图
BackgroundImageLayout 背景图展开方式; 获取或设置图像布局,取值有 5 种,即 None(图片居左显示)、Tile(图像重复,默认值)、Stretch(拉伸)、Center(居中)、Zoom(按比例放大到合适大小)
Cursor 鼠标样式
Font 字体样式,可以修改字体大小,字体越大控件越大;
ForeColor 字体颜色
FormBorderStyle 有无边框,边框样式, FixedSingle;窗口不可拖拽大小;

1)None:无边框
2)FixedSingle:固定的单行边框
3)Fixed3D:固定的三维样式边框
4)FixedDialog:固定的对话框样式的粗边框
5)Sizable:可调整大小的边框
6)FixedToolWindow:不可调整大小的工具窗口边框
7)SizableToolWindow:可调整大小的工具窗口边框

Text 与空间关联的文本
UserWaitCursor

行为
AllowDrop
AutoValidate
ContrxtMenuStrip
DoubleBuffered
Endbled
ImeMode
杂项
AcceptButton “接受”按钮 , 每次按enter都相当于单机该按钮
CancelButton “取消”按钮 , 每次按esc都相当于单机该按钮
KeyPreview
用来获取或设置一个值,该值指示在将按键事件传递到具有焦点的控件前,窗体是否将接收该事件。值为true时,窗体将接收按键事件,值为false时,窗体不接收按键事件。

2、常用方法

自身窗体 使用this 例如 this.hide();
其它窗体

Form2 f2 = new Form2();
f2.Show();

下面介绍一些窗体的最常用方法。
(1)Show方法:该方法的作用是让窗体显示出来,其调用格式为:
窗体名.Show();
其中窗体名是要显示的窗体名称。
(2)Hide方法:该方法的作用是把窗体隐藏出来,其调用格式为:
窗体名.Hide();
其中窗体名是要隐藏的窗体名称。
(3)Refresh方法:该方法的作用是刷新并重画窗体,其调用格式为:
窗体名.Refresh();
其中窗体名是要刷新的窗体名称。
(4)Activate方法:该方法的作用是激活窗体并给予它焦点。其调用格式为:
窗体名.Activate();
其中窗体名是要激活的窗体名称。
(5)Close方法:该方法的作用是关闭窗体。其调用格式为:
窗体名.Close();
其中窗体名是要关闭的窗体名称。
(6)ShowDialog方法:该方法的作用是将窗体显示为模式对话框。其调用格式为:
窗体名.ShowDialog();

3.常用事件

为窗体、控件添加事件在属性面板的“事件”选项卡里操作。
(1)Load事件:该事件在窗体加载到内存时发生,即在第一次显示窗体前发生。
(2)Activated事件:该事件在窗体激活时发生。
(3)Deactivate事件:该事件在窗体失去焦点成为不活动窗体时发生。
(4)Resize事件:该事件在改变窗体大小时发生。
(5)Paint事件:该事件在重绘窗体时发生。
(6)Click事件:该事件在用户单击窗体时发生。
(7)DoubleClick事件:该事件在用户双击窗体时发生。
(8)Closed事件:该事件在关闭窗体时发生。

4. 添加事件

以窗体Load事件为例:
Load(加载)事件发生于Form窗体的加载时候,其设置步骤如下。
(1)打开VS2008,新建一个Windows窗体应用程序,并命名为FormEventTest。
(2)打开其Form1的属性窗口,切换到“事件”选项卡(一个闪电标志)
(3)找到Load事件项,然后双击进入该事件代码编辑文件Form1.cs,为其编写代码。

5.继承窗体

继承窗体就是根据现有窗体的结构创建一个与其一样的新窗体,这种从现有窗体继承的过程称为可视化继承。
两种方式创建继承窗体
编程方式:from2:from1
继承选择器:

6.控件

窗体由控件构成,控件分常用控件和高级控件,常用控件主要有文本类控件、选择类控件及分组控件等。
C#控件的基类是System.Windows.Forms命名空间下的Control类
文本类控件:Label、Button、TextBox、RichTextBox
选择类控件:CheckBox、ComboBox、ListBox、RadioButton
分组控件:GroupBox、Panel、FlowLayoutPanel、SplitContainer、TabControl、TableLayoutPanel

7. 特殊实现

(1)启动欢迎界面
将该界面设置为欢迎界面,添加Timer控件,倒计时数秒后启动主界面
(2)多窗体应用程序设置启动窗体
在Program.cs中,改变Run方法的参数

public static void Run(From mainFrom);

例如:Application.Run(new Form1());
其中,Form1为窗体名
(3)程序退出
窗体相关事件

this.hide(); //隐藏
this.show(); 显示
this.Close();  关闭,注意会关闭整个应用程序
Application.Exit(); 关闭,注意会关闭整个应用程序

(4)“接受”按钮、“取消”按钮
acceptbutton cancelbutton
(5)启动浏览器打开网页

System.Diagnostics.Process.Start(e.LinkText); //e.LinkText换成具体链接

(6)判断某字符串是否为数字型

       int a;
        if(Int32.TryParse(textBox1.Text, out a))
            {
                //MessageBox.Show("数字");
            }
        else
            {
                MessageBox.Show("非数字");
            }

8. 文本框 TextBox
密码文本框:设置文本框的PasswordChar属性,或UseSystemPasswordChar属性
多行文本框:Multiline属性设为True
突出显示:设置SelecttionStart、SelectionLength属性
9. RichTextBox
有格式文本控件,用于显式、输入和操作带有格式的文本,比如实现显式字体、颜色、链接、从文件加载文本、及嵌入的图形、撤销重复编辑操作以及查找字符串功能。
10.下拉组合框 ComboBox
(1)DropDownStyle:设置样式

Simple:列表部分总是可见
DropDown:为默认值,可编辑文本框
DropDownList:不能编辑文本框

(2)SelectAll() 方法选择可编辑框的所有文本
11 复选框 CheckBox
CheckState属性:是否选中,值为Checked、Unchecked
12.单选按钮
checked属性:是否选中职位True,

(1)用于显示和输入数值,提供上下箭头,用户可以直接输入,也可以用箭头修改数值
Maximum:最大值
Mininmun:最小值
Value:值
(2)显式格式
DecimalPlaces:小数点后位数,默认0
ThousandsSeparater:千分符,默认false
exadecimal :十六进制显式
14.列表控件 ListView
(1)添加删除项目:ListBox控件Items属性的Add方法、Remove方法
(2)当前选中项目:ListBox的SelectedItem属性
(3)多选:SelectionMode属性

MultiExtended(可用Shift、Ctrl键)
MultiSimple 多选
One:单选
None:无法选择

(4)选中的项数
listBox1.SelectedItems.Count.ToString(); 多选情况下
样式、列标头、列宽设置

listView1.Columns.Add("文件名"); //添加标头            
listView1.Columns.Add("路径");
listView1.Columns.Add("大小");
listView1.Columns.Add("创建时间");
listView1.Columns[0].Width = 100; //设置宽度
listView1.Columns[1].Width = 200; //设置宽度
listView1.Columns[2].Width = 100; //设置宽度
listView1.Columns[3].Width = 100; //设置宽度

listView1.View = View.Details; //视图样式
//添加项

listView1.Items.Clear();  //清空
listView1.Items.Add(processes[i].ProcessName);
listView1.Items[listView1.Items.Count - 1].SubItems.Add(processes[i].Id.ToString());
listView1.Items[listView1.Items.Count - 1].SubItems.Add(processes[i].Id.ToString());
listView1.Items[listView1.Items.Count - 1].SubItems.Add(processes[i].Id.ToString());

15.分组控件
Panel:
GroupBox:分组框
TabControl:选项卡
(1)为选项卡设置图标,改变选项卡标题
创建一个windows应用程序,向窗体添加一个ImageList控件,然后像ImageList控件添加图形列表;
添加一个TabControl控件,将其ImageList属性设置为ImageList1控件,并将TabPage选项卡的ImageIndex属性设置为列表中相应图像的索引。
(2)将选项卡显示为按钮
将TabControl控件的Appearence属性设置为Buttons或FlatButtons,可以将选项卡显示为按钮样式。(三维按钮、平面按钮)

tabControl1.Appearance = TabAppearance.Buttons;

(3)在选项卡中新增控件
使用New进行初始化类,调用添加
(4)添加、移除选项卡
添加:TabPages属性的Add方法

string title = "新增选项卡" + (tabControl1.TabCount+1);
TabPage myTabPage = new TabPage(title);
tabControl1.TabPages.Add(myTabPage);

删除:TabPages属性的Remove方法

tabControl1.TabPages.Remove(tabControl1.SelectedTab);

移除所有选项卡:TabPages属性的clear
(5)DataGridView
列宽设置无效?
需要把列的 AutoSizeMode 属性设为None,宽度设置才会生效。
列标题居中

dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; //标题居中

列居中对齐

dataGridView1.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

如何让全部列填充满整个控件?

点击datagridview右上角的小三角->"编辑列"->选中最后一列->右边的属性框有个“布局”->"AutoSizeMode"的属性,设置它为Fill就Ok了
dataGridView选中的时候选中正行而不是一个单元格

dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; //选中正行,而非单元格

最左列的赋值

datagridview.Rows[i].HeaderCell.Value

最左列的显示与改变宽度

dataGridView1.RowHeadersVisible = false; //最左侧列 隐藏
dataGridView1.RowHeadersWidth = 60;    //设置宽度

防删除出错

int indexid = dataGridView1.CurrentRow.Index; //当前行
            //MessageBox.Show(dataGridView1.Rows.Count.ToString() + indexid.ToString());
            if (indexid < 0 || indexid >= dataGridView1.Rows.Count - 1)
            { }
            else
            {
                if (MessageBox.Show("确定删除吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                {
                    dataGridView1.Rows.Remove(dataGridView1.CurrentRow);
                }
            }

发布日期:

所属分类: 编程, 编程语言 标签: