WinForm 控件(上)

窗体的事件

  每一个窗体都有一个事件,这个窗体加载完成之后执行哪一段代码

位置: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         }
label

2、TextBox -- 文本框

TextBox的取值赋值:

1         private void Form1_Load(object sender, EventArgs e)
2         {
3             textBox1.Text = "请输入用户名";
4             MessageBox.Show(textBox1.Text);
5         }
textbox

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 }
button 

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         }
radiobutton--取选中值

设置某一项选中:

 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         }
radiobutton--设置选中

※利用代码往容器里添加工具:

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         }
checkbox--取选中值

读取存取的自定义数: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         }
checkbox--设置选中

全选:

 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值

取选中的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         }
设置某项被选中2种方法

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         }
设置时间2方法

取选中值:

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         }
取选中时间
原文地址:https://www.cnblogs.com/ShenG1/p/5795121.html