Name:唯一标识该控件的属性,在程序中就是通过该属性来调用控件的。
Text:控件上显示的文本。
Enabled:控制该控件是否可用。
Visible:确认该控件是否可见。
TabIndex:确认该控件在该窗体中占用的tab键顺序索引。
最常用的就是Click事件,其他的不用。
Name:唯一标识该控件的属性,在程序中就是通过该属性来调用控件的。
Text:控件上显示的文本。
Enabled:控制该控件是否可用。
Visible:确认该控件是否可见。
TabIndex:确认该控件在该窗体中占用的tab键顺序索引。
对于Label一般就是显示一个文本,不会使用它的事件;但是对于LinkLabel,一旦点击它就要链接到某个地址上去,就会使用它的事件:
private void linkLabel1_LinkClicked(object sender,LinkLabelLinkClickedEventArgs e)
{
//指示该链接是否显示成为被访问过的颜色
linkLabel1.LinkVisited = true;
//Call the Process.Start method to open the default browser
//with a URL:
System.Diagnostics.Process.Start("http://www.hao123.com");
}
Name:唯一标识该控件的属性,在程序中就是通过该属性来调用控件的。
Text:控件上显示的文本。
Enabled:控制该控件是否可用,如果为false,不仅不能往文本框中写数据(只读),事件也无法触发,在程序中对文本框的文本进行赋值还是可以的。
Visible:确认该控件是否可见。
ReadOnly:确认是否为只读的,如果为true,则表示只读,但是事件还是可以触发的,在程序中对文本框的文本进行赋值还是可以的。
TabIndex:确认该控件在该窗体中占用的tab键顺序索引。
BackColor:背景颜色。
BorderStyle:边框风格。
Font:文本框中的文本的字体。
ForeColor:文本框中的文本的颜色。
TextAlign:文本的对齐方式。
MaxLength:可以容纳的最大字符数。
PasswordChar:输入密码的时候应该显示的字符。
ScrollBars:控制是否有滚动条。
Multiline:控制该文本框是否会显示多行。
WordWrap:是否自动换行。
CharacterCasing:控制文本框中只能输入大小写字母。
当文本框可以显示多行的时候,一定要让它自动换行,然后设置垂直的滚动条:
textBox1.ScrollBars = ScrollBars.Vertical;
对与文本框最常用的就是文本发生改变的时候触发的事件:
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
分组框就是将一组功能的控件包含在一起,只是在外观上起一个分组的作用,仅此而已。分组的时候不能用分组框去覆盖在别的控件上分组,这种是覆盖而非分组。要想分组,就必须把控件往分组框中拖。
Name:唯一标识该
Text:控件上显示的文本。
在一个窗体中,可以有多个单选按钮,但是永远都只会有一个按钮被选中,如果点击其他按钮,那个按钮就被选中了,之前被选中的按钮就不会被选中了。但是如果把单选按钮进行分组,把一组单选按钮放到一个组合框,另外一组单选按钮放到另外一个组合框中的话,每个组合框都是独立的,每个组合框中只允许一个被选中,这样就可能出现一个窗体上有多个被选中的单选按钮,但是分别在不同的组合框中。
在一个窗体中会有多个复选框,各个复选框之间是相互独立的,可以同时选中所有的复选框。
Name:唯一标识该控件的属性,在程序中就是通过该属性来调用控件的。
Text:控件上显示的文本。
Checked:这个是一个bool值,设置或者获取该控件是否被选中。True表示被选中了,false表示没有被选中。
TabIndex:确认该控件在该窗体中占用的tab键顺序索引。
CheckedChanged
private void checkBox1_CheckedChanged(object sender,EventArgs e)
{
if (checkBox1.Checked ==true)
MessageBox.Show("checkBox1被选中");
else
MessageBox.Show("checkBox1未被选中");
}
private void radioButton1_CheckedChanged(object sender,EventArgs e)
{
if (radioButton1.Checked ==true)
MessageBox.Show("radioButton1被选中");
else
MessageBox.Show("radioButton1未被选中");
}
private void radioButton2_CheckedChanged(object sender,EventArgs e)
{
if (radioButton2.Checked ==true)
MessageBox.Show("radioButton2被选中");
else
MessageBox.Show("radioButton2未被选中");
}
注意:对于radioButton,因为永远都只有一个被选中,所以当某一个radioButton的Checked发生改变的时候,即由未选中变成选中的时候,必然导致之前被选中的radioButton的Checked属性发生改变。这个时候两个radioButton的Checked属性都发生改变了,所以就都会被触发CheckedChanged事件。
Name:唯一标识该控件的属性,在程序中就是通过该属性来调用控件的。
MaxDropDownItems:下拉列表中显示的最多的项数,不是Items.Count,但是这个属性设置的好像没什么效果。
TabIndex:确认该控件在该窗体中占用的tab键顺序索引。
Sorted:控制组合框中元素的集合是否排序,是bool类型的。按字符串来排序的。
Text:控件上显示的文本。
Items集合:表示组合框中元素的集合。可以用objectItems[int index]来取得集合中的值,集合的索引是从0开始到Items.Count-1,越界就会出错。
Items.Count表示集合中元素的个数。
SelectedItem :object comboBox1.SelectedItem :可以通过该属性设置或者取得选中项。在设置选中项的时候,如果插入的时候是字符串就写字符串,如果是数值就写数值,否则无法识别;设置这个属性的时候,如果集合中存在,就相当于点击了下拉列表,最终文本框中会显示选中值的;如果设置的值不存在,那么不会改变文本框当前的显示值,也不报错。获取的时候,没有选中任何项的时候,该属性值是null,否则就是具体的某一项以object返回。
SelectedIndex:intcomboBox1.SelectedIndex:可以通过该属性设置或者取得选中项的索引。索引是整数的,设置的时候,如果索引存在,就相当于点击了下拉列表,最终文本框中会显示值的,如果设置成-1,那么就会让控件不选中任何项目。如果设置的索引不存在,越界了(不在从-1开始到Items.Count-1),就会报错。获取的时候,如果控件没有选中任何项,那么该属性的值是-1。
DropDownStyle:控制组合框的显示方式:
(1)、comboBox1.DropDownStyle = ComboBoxStyle.DropDown;//默认方式,文本部分可编辑,列表点击才显示。当点击下拉列表中的某一项的时候,就会把该项的值赋值给文本框;也可以直接给文本框赋值。有三种方式可以获取文本框的值:
1、 object comboBox1.SelectedItem//没选中的时候为null,直接toString会报错
2、 object comboBox1.Items[comboBox1.SelectedIndex]//没有选中的时候会报错
3、 string comboBox1.Text//没有选中的时候值为长度为0的字符串
所以在这种模式下,如果选择下拉里表中的值,那么文本框text与下拉列表的值就相同,但是如果用户自己输入,那么文本框的值就可能不在下拉列表中,所以在这种模式下最好用comboBox1.Text来取值。
(2)、comboBox1.DropDownStyle = ComboBoxStyle.Simple;//文本部分可编辑,列表部分总可见。这种与第一种只是显示不通,其他都一样。
(3)、comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;//文本部分不可编辑,列表点击才显示。因为文本不能编辑,所以选中项的值与文本值相同,但是没选中的时候,使用前两种方式就出错,所以还是用comboBox1.Text来取值比较好。
注意:虽然组合框可以接受任何类型的值,但是建议全部插入字符串,即使是数值也转换成为字符串插入。设置选中项的时候,可以直接设置字符串而不用设置数值。统一了程序比较好处理。
取值的时候,要把object转换成想要的类型。
DataSource:设置该控件的数据源,为某一张表。
DisplayMember:该控件显示的是数据源的哪一列,为数据源表的列名。
ValueMember:该控件的值是数据源的哪一列,为数据源表的列名,这个不会被显示出来。
SelectedValue:选中项对应的值,可读写。
在这种方式下,SelectedIndex仍然有效,表示选中项的索引;SelectedValue表示选中项的值,与ValueMember对应;text仍然有效,对应着DisplayMember;SelectedItem、SelectedText、items集合无效。
DataTable table = new DataTable("ComboBoxDataSource");
table.Columns.Add("textFiled",typeof(string));
table.Columns.Add("valueField",typeof(string));
DataRow row;
row = table.NewRow();
row["textFiled"] = "a";
row["valueField"] ="A";
table.Rows.Add(row);
row = table.NewRow();
row["textFiled"] = "b";
row["valueField"] ="B";
table.Rows.Add(row);
row = table.NewRow();
row["textFiled"] = "c";
row["valueField"] ="C";
table.Rows.Add(row);
row = table.NewRow();
row["textFiled"] = "d";
row["valueField"] ="D";
table.Rows.Add(row);
comboBox1.DataSource = table;
comboBox1.DisplayMember = "textFiled";
comboBox1.ValueMember = "valueField";
MessageBox.Show(comboBox1.SelectedValue.ToString());
MessageBox.Show(comboBox1.SelectedIndex.ToString());
MessageBox.Show(comboBox1.SelectedItem.ToString());
comboBox1.Items.Add(object item);//因为形参是object类型,所以可以添加任何类型的变量。如果是不排序的话,这种添加是添加到最后一项的下一项;如果是排序的话,添加之后,集合会按照字符串进行排序。
comboBox1.Items.Insert(int index,object item)//这种是将某一项插入到一个固定的索引位置,索引必须是从0到comboBox1.Items.Count,越界就会出错,即使排序也不能越界。对于不排序的,原来位置如果有值的话,就会后移;对于排序的,不会按照索引为主而是按照排序为主了。
comboBox1.Items.Remove(object item);//根据值来移除项,虽然参数是object类型的,但是如果当初插入数据的时候插入的是数值,那么移除的时候就要输入数值;否则插入是字符串,移除就要输入字符串,否则无法匹配。
comboBox1.Items.RemoveAt(int index);//这个是直接根据索引来删除的,如果没有元素,就无法删除了;如果有元素,这个索引范围是从0到Items.Count-1,越界就会出错。
comboBox1.Items.Clear();//清空所有的项。
SelectedIndexChanged:这个事件是在选择索引的时候触发,哪怕前后两次选择的索引是相同的,也会触发。
private void comboBox1_SelectedIndexChanged(object sender,EventArgs e)
{
}
列表框跟组合框的功能、用法基本相同,下面只介绍几个特殊的东西:
SelectionMode:设置单选多选。
listBox1.SelectionMode = SelectionMode.MultiSimple;//可多选,用鼠标点击多选
listBox1.SelectionMode = SelectionMode.MultiExtended;//可多选,可使用ctrl、shift、上下箭头选
listBox1.SelectionMode = SelectionMode.One;//单选
listBox1.SelectionMode = SelectionMode.None;//不可选
SelectedItems:选中项的集合。
SelectedItems.Count:选中项的元素个数。
SelectedItems[int index]:选中项集合中的元素引用,这个索引是选中项集合中的索引。
listBox1.SelectedItems.Count
listBox1.SelectedItems[i]
Name:唯一标识该控件的属性,在程序中就是通过该属性来调用控件的。
Maximum:获取或者设置该进度条的最大值,是整型的。
Minimum:获取或者设置该进度条的最小值,也是整型的。
Value:获取或者设置该值,这个值必须满足:Minimum<= Value<= Maximum,越界就会报错,也是整型的。
注意:当Value为Minimum的时候,进度条是空的,当Value为Maximum的时候,是满的,当Maximum<Value<Minimum,进度条就在空与满之间。
Name:唯一标识该控件的属性,在程序中就是通过该属性来调用控件的。
TabPages:这个是页面的集合,可以在在该集合中添加具体的页面,页面由一个重要的属性:Text
Name:唯一标识该控件的属性,在程序中就是通过该属性来调用控件的。
Images:图片的集合,可以在该集合中添加图片。每个图片都有索引。
注意:外界控件访问图片集的时候,首先将外界控件的ImageList属性设置成定义好的图片列表对象,然后将外界控件ImageIndex的属性设置好,这个索引就是定义好的图片列表对象中添加的图片的索引。
Name:唯一标识该控件的属性,在程序中就是通过该属性来调用控件的。
Value:返回一个DateTime类型的值,日期部分是用户通过控件选择的,时间无法选择,就是计算机当前的时间。默认情况下Value是当前的时间日期。