一、Form对象
属性:
Name:窗体类的类名
(一)外观:
BackColor 窗体背景色
ForeColor 窗体文字色
BackgroundImage 背景图片
Font 设置字体
FormBorderStyle 边框样式,常用的FixedSingle,Sizable
Text:标题栏文字
(二)窗口样式
ControlBox 窗体左上角或右上角的最大化,最小化,关闭按钮
MaximizeBox 控制最大化按钮是否可用。
MinimizeBox 控制最小化按钮是否可用。
Opacity 透明度。0-完全透明。100%-完全不透明。
Icon 设置窗体左上角的图标,只能是*.ico文件。
ShowIcon 是否显示左上角的图标。
ShowInTaskBar 是否在windows任务栏中显示窗体。
TopMost 是否是顶层显示的窗口
HelpButton 帮助按钮
TransparentKey 窗体要设为哪个透明颜色,一般用来做透明窗体用。
(三)布局:
WindowState 窗口运行起来的初始状态
StartPosition 窗口运行时的位置
Size 窗口大小
MaximumSize 最大化的大小
MinimumSize 最小化的大小
(四)杂项
AcceptButton 窗口的“接受”按钮。设置后按回车键相当于单击该按钮
CancelButton 窗口的“取消”按钮。设置后按Esc键相当于单击该按钮
二、Label(标签)
属性:
Anchor 控制控件定位的。上 右 下 左
AutoSize 是否自动根据里面文字的内容调整大小。
Text 标签上的文字
TextAlign 文字对齐方式。前提:AutoSize属性必须设为false
ImageAlign 图片的对齐方式。
Image 标签上要显示的图片。
ImageList,ImageIndex 通过ImageList控件来统一管理图标对象。
三、TextBox(文本框)
属性:
AcceptReturns 在文本框中输入的时候,用来设置单击回车是触发AcceptButton(主窗口的杂项中的属性),还是在文本框中进行回车
AcceptTab 在文本框输入的时候,是否接受Tab跳格的效果。
Enabled 是否可用。
MaxLength 最多输入多少字符
MultiLine 是否是多行文本框
PasswordChar 用来设置密码框中的密码显示样式。如果已设置,要用代码清空:文本框名.PasswordChar = ‘ ’;
ReadOnly 是否只读。
TabIndex 按Tab键光标进入的次序
Visible 是否可见。
WordWrap 内容是否自动换行
ScrollBars 如何显示滚动条
Text 文本框上的文字
四、Button(按钮)
属性:
FlatAppearance 设置按钮的背景色、边框等
FlatStyle 设置按钮样式
Text 按钮文字。 Text:确认(&C)//同时设置C键为热键
ImageList
ImageIndex
Image 按钮的图片
五、RadioButton(单选),Checkbox(多选)
RadioButton,把同一组单选按钮要放在同一个面板里,它们会自动产生互斥效果。如果要做多组单选,那么每一组单选按钮都要放在一个容器中。
属性:
Checked 是否被选中。
ImageList
ImageIndex
Image 选项的图片
Text 文字
六、Combobox(下拉列表)
属性:
Items 列表项的集合
DropDownStyle 下拉列表模式。DropDownList-只能选;DropDown-可写,可选。
DataSource 指定一个集合,绑定在下拉列表中显示
ValueMember string哪个属性作为下拉列表的value值
DisplayMember string哪个属性作为下拉列表的显示值
SelectedIndex 获取或设置选中项的索引号
Text 获取选中项的文字
SelectedValue 获取或设置选中项的值
七、DateTimePicker(日期选择框)
属性:
Value 所选日期的DateTime型数据。
八、ListView
可以通过控件右上方的小箭头,进行编辑项、编辑列等操作。
SmallImageList 小图标列表
LargeImageList 大图标列表
View 视图状态。View.LargeIcon(大图标),View.SmallIcon(小图标),View.List(列表),View.Details(详细),平铺
SelectedItems 选中项的集合
Items集合 ListViewItemCollection
Columns集合 ColumnHeaderCollection——只能在详细视图中显示出来。
Groups集合 ListViewGroupCollection
子对象:
ListViewItem子对象,主要是放在Items集合。
属性:Tag,Text,ImageIndex,SubItems集合(ListViewItem.ListViewSubItem对象的集合)
ColumnHeader对象
举例:
1、用ListView显示表中的信息。
//读数据
MyDB.InfoDataTable table = new InfoTableAdapter().GetData();
//填充显示
foreach (MyDB.InfoRow row in table.Rows)
{
//造主项
ListViewItem item = new ListViewItem();
//设置主项信息
item.Text = row.Name;
item.ImageIndex = row.Sex == true ? 0 : 1;
//造子项
ListViewItem.ListViewSubItem itemSex = new ListViewItem.ListViewSubItem();
itemSex.Text = row.Sex == true ? "男" : "女";
item.SubItems.Add(itemSex);
ListViewItem.ListViewSubItem itemNation = new ListViewItem.ListViewSubItem();
itemNation.Text = GetNationName( row.Nation);
item.SubItems.Add(itemNation);
ListViewItem.ListViewSubItem itemBirthday = new ListViewItem.ListViewSubItem();
itemBirthday.Text = row.Birthday.ToString("yyyy年MM月dd日");
item.SubItems.Add(itemBirthday);
listView1.Items.Add(item);
}
2、选择每一项,显示其主键值:
第一步:把每项的主键值放在ListViewItem的Tag属性
第二步:编写事件SelectedIndexChanged事件
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
//获得选中的项集合
ListView.SelectedListViewItemCollection items = listView1.SelectedItems;
//判断是否被选中
if (items.Count > 0) //有选中项
{
//取出ListViewItem对象的Tag 属性
label1.Text = items[0].Tag.ToString();
}
else//无选中项
{
label1.Text = "无选中项";
}
}
九、ListbBox
1.把数据填进去。
法一:绑定
listBox1.DataSource = list;
listBox1.DisplayMember = "Name";
listBox1.ValueMember = "Code";
法二:向集合中添加(添加集合或逐项添加)
//直接加一个集合
listBox1.Items.AddRange(list.ToArray());
//逐项添加
foreach(Info data in list)
{
listBox1.Items.Add(data);
}
提问:如何显示“请选择”效果?
a.如果是直接绑定的话:在绑定数据时,会自动清空原有的内容,所以不能事先在列表框中加入"请选择"项。
应当事先在数据源的集合中,用Add()或Insert()加入一个“请选择的项”,然后再绑定。
b.如果是用Items.Add()或Items.AddRange()添加的数据,则事先可以在列表框中加入“请选择”项
//取数据
InfoDA da = new InfoDA();
List<Info> list = da.Select();
Info data = new Info();
data.Code = "-1";
data.Name = "--请选择--";
list.Insert(0,data);
//填充——绑定式填充
//listBox1.DataSource = list;
//listBox1.DisplayMember = "Name";
//listBox1.ValueMember = "Code";
//填充——逐项添加
listBox1.Items.AddRange(list.ToArray());
listBox1.SelectedIndex = 0;
//foreach(Info data in list)
//{
// listBox1.Items.Add(data);
//}
2.把选中的项取出来。
//数据源是直接绑定的。
string value = listBox1.SelectedValue.ToString(); //取后端的value值
string text = listBox1.Text; //取前端的显示值
label1.Text = text + " " + value;
//通过SelectedItem取选中项的内容
Info item = (Info)listBox1.SelectedItem;
label1.Text = item.Code + " " + item.Name+" "+item.Sex;
3.设置某项被选中。
//listBox1.SelectedIndex = Convert.ToInt32(textBox1.Text); //通用
//如果:数据源是直接绑定的
//listBox1.SelectedValue = textBox1.Text;//对绑定形式起作用
//如果:添加的
for(int i=0;i<listBox1.Items.Count;i++ )
{
Info data = (Info)listBox1.Items[i];
if(data.Code == textBox1.Text)
{
listBox1.SelectedIndex = i;
break;
}
}