1.下拉列表框ComboBox
-
监视窗口:ctr+D+Q
-
SelectedItem:为当前所选择的对象
-
Text:当前控件显示的内容
-
一般使用SelectedItem,因为可以绑定数据,这个数据可以是对象
-
初始化器:
string[] str = new string[] { "窗体", "修炼", "手册" }; //初始化器 cmb下拉列表框.Items.AddRange(str);//和下面等价 cmb下拉列表框.Items.AddRange(new string[] { "窗体", "修炼", "手册" }); -
DropDownStyle:为DropDown时,内容可以更改,可能会引发SelectItem的null异常。为了避免这个问题,一般用DropDownList
-
带有联动的选择用combobox比较好(比如选择地址,第一级别带动第二级别)首先获取cmb1选择的数据,然后设置cmb2的数据
Dictionary<string, string> dic = new Dictionary<string, string>();
private void cmb下拉列表框_SelectedIndexChanged(object sender, EventArgs e)
{
//清空
cmb_2.Items.Clear();
//获取选中项目
string selecttext = cmb下拉列表框.SelectedItem.ToString();
//使用选中项目作为key获取dic中的value
string strval = dic[selecttext];
//将字符串转化为数组
string[] strs = strval.Split(',');
//添加到cmb2中
cmb_2.Items.AddRange(strs);
//设置选中项
cmb_2.SelectedIndex = 0;
}
private void Form1_Load(object sender, EventArgs e)
{
dic.Add("云南", "昆明,丽江,大理");
dic.Add("四川","成都,绵阳,乐山");
foreach(var item in dic.Keys)
{
cmb下拉列表框.Items.Add(item.ToString());
}
}

2. 复选框CheckBox
-
checked True:选中,False:不选中
-
TreeState 会提供3种状态,根据CheckStae来判断(Checked,Unchecked,Indeterminate[表示树结构时会出现一种状态,当前树结构下有一个或多个子项被选中,不是所有])
-
获取所有chechbox对应的状态:
- 在窗体加载完成时获取所有的checkbox
- 使用name,控件太多时不合适
- 使用this.Controls
- 对这些checkbox完成事件的赋值
private void button1_Click(object sender, EventArgs e) { for (int i = 0; i < this.Controls.Count; i++) { //as 与 强制类型转化的区别 //强制类型转化:如果类型不匹配则会出现异常 //as 类型不匹配时不会出现异常,接受的变量为null CheckBox c1 = this.Controls[i] as CheckBox; if (c1 != null) { c1.Checked = true; } }; }void GetCheckBoxState(CheckBox chk) //获取状态 { String txt = chk.Text; Boolean state = chk.Checked; chkObject co = chkList.Find(x => { return x.Txt == txt; }); //lambada 表达式 //x=>{ } x表示集合的每一项,{}:匿名函数,返回类型取决于=左边的x if (co != null) { co.IsChecked = state; } else { co = new chkObject() { Txt = txt, IsChecked = state }; chkList.Add(co); } - 在窗体加载完成时获取所有的checkbox

1965

被折叠的 条评论
为什么被折叠?



