窗体的事件
每一个窗体都有一个事件,这个窗体加载完成之后执行哪一段代码
位置:1)右键属性→事件→load 双击进入
2)双击窗体任意一个位置进入
删除事件:先将事件页面里面的挂好的事件删除,再删后台代码里面的事件
1 namespace WindowsFormsApplication2 2 { 3 public partial class Form1 : Form 4 { 5 public Form1()//构造方法 6 { 7 InitializeComponent(); 8 } 9 10 private void Form1_Load(object sender, EventArgs e)// sender(事件源):谁触发的就是谁的这里是Form1的;e(事件数据) 11 { 12 //写事件 13 } 14 } 15 }
控件在工具箱里面找,找到之后双击即可添加进来,也可以点住拖进来
※每个工具,控件,窗体都有一个name,相当于id,用来标识该对象的名称,name值不允许重复
1、Label -- 文本显示工具
Text:显示的文字
Label的取值赋值:
1 private void Form1_Load(object sender, EventArgs e) 2 { 3 textBox1.Text = "hhhhh傻鸡"; 4 label1.Text = "啊哈哈哈"; 5 MessageBox.Show(label1.Text); 6 }
2、TextBox -- 文本框
TextBox的取值赋值:
1 private void Form1_Load(object sender, EventArgs e) 2 { 3 textBox1.Text = "请输入用户名"; 4 MessageBox.Show(textBox1.Text); 5 }
3、RichTextBox --文本域
可以随意调整大小
Dock:定义要绑定到容器的控件边框
Multiline:控制编辑控件的文本是否能够跨越多行
ReadOnly:控制能否更改编辑控件中的文本,默认是False,改为True是只读
Enabled:指示是否已启用该控件
Visible:确定该控件是可见还是隐藏
用法同TextBox
4、Button -- 按钮
text:修改显示的文字
name:id
FlatStyle:确定当用户将鼠标移动到控件上并单击时该控件的外观
点击事件:双击按钮可以时间某些功能
1 private void button1_Click(object sender, EventArgs e) 2 { 3 MessageBox.Show("点击了按钮"); 4 }
5、radioButton -- 单选按钮
text:文字
Checked:是否选中
把多个单选按钮做成互斥,winform里面没有group属性,所以要看他们父级容器(只能是上一级),如果在同一个父级下就是同一组
如果要进行分组,则将同一组的按钮放到同一个容器下 用Panel
取选中值:
每一种工具都是一个类 如:radiobutton都是radiobutton类
每一个窗体都继承自form类 所有工具也均继承自一个父类就是Control
1 private void button2_Click(object sender, EventArgs e) 2 { 3 //从form1中所有的工具(对象) 4 foreach (Control ctr in panel1.Controls)//取到该容器下的所有工具 是个集合 5 { 6 //判断该对象ctr是不是属于子类radiobutton 7 if (ctr is RadioButton) 8 { 9 //如果是则装换类型 10 RadioButton rd = ctr as RadioButton; 11 if (rd.Checked) 12 { 13 MessageBox.Show(rd.Text); 14 } 15 } 16 } 17 }
设置某一项选中:
1 private void button3_Click(object sender, EventArgs e) 2 { 3 //遍历form1中的工具 4 foreach (Control ctr in panel1.Controls) 5 { 6 //判断是不是子类radiobutton 7 if (ctr is RadioButton) 8 { 9 //如果是强转 10 RadioButton rd = ctr as RadioButton; 11 if (rd.Text == "女") 12 { 13 rd.Checked = true; 14 } 15 } 16 } 17 }
※利用代码往容器里添加工具:
1 private void Form1_Load(object sender, EventArgs e) 2 { 3 //首先造一个该工具的对象 4 RadioButton radiobutton4 = new RadioButton(); 5 //赋值 6 radiobutton4.Text = "哈"; 7 //括号里面是一个父类,里氏代换原则 8 panel1.Controls.Add(radiobutton4); 9 }
6、checkbox -- 复选框组
Checked属性:是否选中
Tag属性:可以存储自定义数,用户自己定义
取选中值:
1 private void button4_Click(object sender, EventArgs e) 2 { 3 foreach (Control ctr in panel2.Controls) 4 { 5 if (ctr is CheckBox) 6 { 7 CheckBox ck = ctr as CheckBox; 8 if (ck.Checked) 9 { 10 MessageBox.Show(ck.Text); 11 } 12 } 13 } 14 }
读取存取的自定义数:MessageBox.Show(ck.Tag.ToString());
设置某一项选中:
1 private void button5_Click(object sender, EventArgs e) 2 { 3 foreach (Control ctr in panel2.Controls) 4 { 5 if (ctr is CheckBox) 6 { 7 CheckBox ck = ctr as CheckBox; 8 if (ck.Text == "汉族") 9 { 10 ck.Checked = true; 11 } 12 } 13 } 14 }
全选:
1 private void checkBox3_CheckedChanged(object sender, EventArgs e) 2 { 3 foreach (Control ctr in panel2.Controls) 4 { 5 if (ctr is CheckBox) 6 { 7 CheckBox ck = ctr as CheckBox; 8 ck.Checked = checkBox3.Checked; 9 } 10 } 11 }
7、listbox--列表框
items:列表框中的值 是一个集合 一般用数据库读取数据来添加
SelectionMode:指示列表框将是单项选择,多项选择还是不可选择
从数据库添加数据:
首先建立数据库连接(三个类)
1 private void Form1_Load(object sender, EventArgs e) 2 { 3 NationDA da = new NationDA(); 4 //给listbox指定 数据源 5 listBox1.DataSource = da.Select(); 6 //指定显示的值 7 listBox1.DisplayMember = "Name"; 8 //指定后台value值 9 listBox1.ValueMember = "Code"; 10 }
取多项选中的value值:
1 private void button6_Click(object sender, EventArgs e) 2 { 3 foreach (Nation data in listBox1.SelectedItems)//SelectedItems获取当前选定项的集合 4 { 5 MessageBox.Show(data.Code); 6 } 7 }
取选中的value值:
MessageBox.Show(listNation.SelectedValue.ToString())
取选中项:(取到的是实体对象)
Nation data = listbox1.SelectedItem as Nation;
MessageBox.Show(data.Code);
设置某项选中:
1 private void button7_Click(object sender, EventArgs e) 2 { 3 //方法1: 4 //listBox1.SelectedIndex = 1; //设置当前选定项从0开始的索引 5 //方法2: 6 listBox1.SelectedValue = "n005"; //设置指定成员属性的值 7 }
8、combobox--下拉列表
所有用法同listbox:
1 private void Form1_Load(object sender, EventArgs e) 2 { 3 NationDA da = new NationDA(); 4 //添加一项请选择 5 Nation data = new Nation(); 6 data.Code = "qxz"; 7 data.Name = "请选择"; 8 9 List<Nation> list = da.Select(); 10 list.Add(data); 11 12 comboBox1.DataSource = list; 13 comboBox1.DisplayMember = "Name"; 14 comboBox1.ValueMember = "Code"; 15 }
9、DataTimePicker -- 日期选择控件
设置选中:
1 private void button8_Click(object sender, EventArgs e) 2 { 3 //定义一个时间 4 string sj = "2016-1-1"; 5 //方法1: 6 //dateTimePicker1.Value = Convert.ToDateTime(sj); 7 //方法2: 8 dateTimePicker1.Text = sj; 9 }
取选中值:
1 private void button7_Click(object sender, EventArgs e) 2 { 3 MessageBox.Show(dateTimePicker1.Value.ToString("yyyy年MM月dd HH:mm:ss:ms")); 4 5 }