窗体的属性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了窗体的属性相关的知识,希望对你有一定的参考价值。
窗体属性分为五大模块:窗口的外观、位置、大小、可见性和状态、生命周期。1、 窗口的外观
WPF中默认窗口框架的外观,主要取决于Icon、Title、WindowsStyle、ResizeMode等属性。
Icon 指定窗口的图标;
Title 指定窗口的标题;
WindowStyle 指定窗口样式,有4个取值:
None,无边框;(当ResizeMode属性为NoResize时,仅剩下窗口核心。)
SingleBorderWindow,单边框【默认】;
ThreeDBorderWindow,3D边框;
ToolBorderWindow,工具箱窗口
ResizeMode 是指定大小调节样式,有4个取值:
NoResize,不可调节,同时没有最大最小按钮;
CanMinimize,不可调节。但可以最小化;(此时最大化按钮不可用)
CanResize,可调节【默认】;
CanResizeWithGrid,可根据网格调节;(窗口右下脚显示可调节网格)
2、 窗口的位置
WindowStartLocation 指定窗口初始位置,有3个取值:
Manual,手工指定位置,表示可以通过设置其Top、Left属性值来决定窗口的初始位置;
CenterScreen,屏幕中央;
CenterOwner,父窗体中央;
TopMost 调节窗口的前后顺序,属性值为true时,窗口位于最前。
TopMost值为true的窗口,位于TopMost值为false的窗口之前
TopMost值都为true的窗口,获得焦点的窗口位于前
3、 窗口的大小
Width、Height,分别表示窗口的宽度和高度,称为“尺寸属性”。
MaxWidth、MinWidth、MaxHeight、MinHeight,分别表示窗口最大宽度、最小宽度、最大高度、最小高度。可以通过得到和更改这些属性值,来获取和改变窗口的大小和长宽范围。
ActualWidth、ActualHeight,分别表示窗口的实际宽度和实际高度,称为“实际尺寸属性”。
实际尺寸属性是根据当前窗口大小、最小化时窗口大小和最大化时窗口大小来计算得到的,其值是只读的,也就是说,不能通过改变ActualWidth、ActualHeight的值来更改窗口大小。
SizeToContent,表示窗口大小由内容决定,有4个取值:
Manual,手工【默认】;
Width,窗体宽度由内容决定;
Height,窗体高度由内容决定;
WidthAndHeight,窗体大小由内容决定;
如果内容尺寸超过了窗口的最大或最小范围,还是以最大/最小范围为主。如果手工指定了窗口的Width、Height 属性,那么SizeToContent将被忽略。
ReSize,窗口大小的可调整性(第1部分已提到)
4、 窗口的可见性和状态
Visibility,窗口可见性,有4个枚举值:
Visiable,可见;
Hidden,隐藏;
Collapsed,折叠。
虽然窗口类认为Collapsed与Hidden一样,但二者区别在于,Hidden仅仅将元素设为不可见,但是元素在画面上依然占有空间;而Collapsed,在不可视的基础上,能将元素在画面上的占位符清除,元素彻底不影响画面。
Show、Hide,显示窗口和隐藏窗口的两个方法。如果窗口的ShowInTaskbar属性值为true,Hide不但隐藏窗口本身,同时隐藏其在任务栏上的图标。
WindowState,窗口状态属性,有3个枚举值:
Normal,正常;
Maximized,最大化;
Minimized,最小化;
RestoreBounds,获取窗口在最小化或最大化之前的大小和位置,有4个枚举值,Top、Left、Width、Height。
5、 窗口的生命周期
关于各事件的描述:
Initialized:当窗口的FrameworkElement底层初始化时触发,即InitializeComponent方法调用时触发。
LocationChanged:窗口被移动时触发。
Activated:窗口被激活时触发。
Deactivated:窗口处于非激活时(即其他窗口处于激活时)触发。
Loaded:显示窗口之前触发。
ContentRendered:当内容显示的时候触发。
Closing:尝试关闭窗口时触发,可以将参数CancelEventArgs的Cancel的属性设置为true,取消关闭操作。
Closed:在窗口关闭后触发该事件,无法取消。
Unloaded:当关闭窗口并且从可视化树移除后触发。 参考技术A 首先打开access,点击上面菜单栏的“创建”,点击“窗体”。然后鼠标右键单击新建的窗体,点击“属性”。最后在右侧的属性表里将内容类型由“ID”改为“窗体”,再点击“数据”,这样就可以设置窗体的数据属性了。
“没有关系,少拌些野菜你先将就一些。娘的胃口不好,只吃些野菜便可。”义母李婆婆想到了什么,脸色随即转好道:“为娘今日还应承,要给镇上的刘氏缝制些衣物。娘虽然看不见,但是娘这女红的手艺可不是小地方的人能见到的,到时那刘氏怎么也会送几斤米面来,宇儿不用担心。只是这顿要让你受些委屈,你可莫要嫌弃。”
范宇听着义母说的可怜,总让自己不要嫌弃,显然是怕自己不再认她这个义母。
能碰到李婆婆,并认下这个义母,范宇也不是看在这一顿饭的事情上。李婆婆以前在秦家也富贵过,那时还经常照顾他们家。如今被秦家赶出来,虽然孤苦无依,却依旧有这份善心。就冲着这纯良人品,范宇也不会后悔认了这个义母。
“娘说的什么话,我如今也不小了,有手有脚还能让娘做工来养活我不成。”范宇开朗笑道:“我饿一顿也没啥,还是娘吃吧。”
“这孩子,莫说傻话。”义母神色一缓道:“你现在不过十五,身体还没长成,怎么能亏了肚皮。”
范宇心下感动,心里却急速的动着心思。母子俩就这么耗下去,以后的日子可没办法过,总要有个主意才成。
只要思想不滑坡,方法总比困难多。范宇一开动脑筋,这办法也真就有了。
他哈哈一笑,对义母道:“娘,你我二人也不用让了。孩儿今天请您下馆子。”
winform各种属性方法控件
窗体是程序与用户交互的可视界面,窗体也是对象,窗体类定义了生成窗体的模版,实例化一个窗体类就产生了一个窗体。
.NET框架类库的System.Windows.Forms命名空间中定义的Form类是所有窗体类的基类。
1、常用属性
属性:图标、标题、位置、背景等可在窗体属性面板设置,也可以代码实现。
(1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。
(2)WindowState属性:用来获取或设置窗体的窗口状态。取值有三种:Normal(窗体正常显示)、Minimized(窗体以最小化形式显示)和Maximized(窗体以最大化形式显示)。
(3)StartPosition属性:用来获取或设置运行时窗体的起始位置。
(4)Text属性:该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示的文字。
(5)AcceptButton属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当按Enter键时就相当于单击了窗体上的该按钮。
(6)CancelButton属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当按Esc键时就相当于单击了窗体上的该按钮。
(7)Modal属性:该属性用来设置窗体是否为有模式显示窗体。如果有模式地显示该窗体,该属性值为true;否则为false。当有模式地显示窗体时,只能对模式窗体上的对象进行输入。必须隐藏或关闭模式窗体(通常是响应某个用户操作),然后才能对另一窗体进行输入。有模式显示的窗体通常用做应用程序中的对话框。
(8)ActiveControl属性:用来获取或设置容器控件中的活动控件。窗体也是一种容器控件。
(9)ActiveMdiChild属性:用来获取多文档界面(MDI)的当前活动子窗口。
(10)AutoScroll属性:用来获取或设置一个值,该值指示窗体是否实现自动滚动。如果此属性值设置为true,则当任何控件位于窗体工作区之外时,会在该窗体上显示滚动条。另外,当自动滚动打开时,窗体的工作区自动滚动,以使具有输入焦点的控件可见。
(11)Enabled属性:用来获取或设置一个值,该值指示控件是否可以对用户交互作出响应。如果控件可以对用户交互作出响应,则为true;否则为false。默认值为true。
(12)KeyPreview属性:用来获取或设置一个值,该值指示在将按键事件传递到具有焦点的控件前,窗体是否将接收该事件。值为true时,窗体将接收按键事件,值为false时,窗体不接收按键事件。
(13)ShowInTaskbar属性:用来获取或设置一个值,该值指示是否在Windows任务栏中显示窗体。
(14)Visible属性:用于获取或设置一个值,该值指示是否显示该窗体或控件。值为true时显示窗体或控件,为false时不显示。
(15)Capture属性:如果该属性值为true,则鼠标就会被限定只由此控件响应,不管鼠标是否在此控件的范围内。
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,
13.数值选择控件
(1)用于显示和输入数值,提供上下箭头,用户可以直接输入,也可以用箭头修改数值
Maximum:最大值
Mininmun:最小值
Value:值
(2)显式格式
DecimalPlaces:小数点后位数,默认0
ThousandsSeparater:千分符,默认false
Hexadecimal :十六进制显式
14.列表控件 ListView
(1)添加删除项目:ListBox控件Items属性的Add方法、Remove方法
(2)当前选中项目:ListBox的SelectedItem属性
(3)多选:SelectionMode属性
MultiExtended(可用Shift、Ctrl键)
MultiSimple 多选
One:单选
None:无法选择
(4)选中的项数
listBox1.SelectedItems.Count.ToString(); 多选情况下
样式、列标头、列宽设置
listView1.View = View.Details; //视图样式,
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.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);
}
}
以上是关于窗体的属性的主要内容,如果未能解决你的问题,请参考以下文章