用戶控件:
相當於一個Panel 可以把多個控件放在里面 組合為一個控件,方便使用和布局。
動態創建添加控件
可以在一個大容器里一次性放入多個控件
例:根據文本框中輸入的數字 給flowLayoutPanel1 添加多少個button
public Form2(haoyou hao) { InitializeComponent(); f = hao; } private void button1_Click(object sender, EventArgs e) { //先獲取用戶輸入的是幾 int count = Convert.ToInt32(textBox1.Text); flowLayoutPanel1.Controls.Clear(); //循環創建按鈕,然后添加到容器中 for (int i = 1; i <= count; i++) { Button btn = new Button(); btn.Text = i.ToString(); flowLayoutPanel1.Controls.Add(btn); } }
timer控件
Timer控件主要會用到2個屬性一個是Enabled和Interval
Enabled主要是控制當前Timer控件是否可用
timer1.Enabled=false;不可用
timer1.Enabled=true;可用
timer1.Interval=1000;主要是設置timer2_Tick事件的時間,單位為毫秒
例一:到9:00提示去上廁所
把timer2.Interval=60000;//1分鍾

private void timer2_Tick(object sender, System.EventArgs e) { string cesuotime=DateTime.Now.DateTime.Now.ToShortTimeString();//得到現在的時間 if(cesuotime.equles("9:00")) { timer1.Enabled=false; MessageBox.show("該去上廁所了"); timer1.Enabled=true;//如果不先把enabled設置成false對話框會一直彈下去 } }
例二:每2小時提示用戶看電腦時間已經很久了,需要休息了
把timer2.Interval=7200000;//7200秒

private void timer2_Tick(object sender, System.EventArgs e) { timer1.Enabled=false; MessageBox.show("需要休息了,開機已經2小時了"); timer1.Enabled=true;//如果不先把enabled設置成false對話框會一直彈下去 }
控件聯動
通俗講就是一個控件的屬性變化引動另一控件也發生變化
例:使用3個comboBox選擇 省市區
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using WindowsFormsApplication2.App_Code; namespace WindowsFormsApplication2 { public partial class Form2 : Form { public Form2() { InitializeComponent(); //綁定省 comboBox1.DataSource = new ChinaData().Select("0001"); comboBox1.DisplayMember = "AreaName"; comboBox1.ValueMember = "AreaCode"; //綁定市 comboBox2.DataSource = new ChinaData().Select(comboBox1.SelectedValue.ToString()); comboBox2.DisplayMember = "AreaName"; comboBox2.ValueMember = "AreaCode"; //綁定區縣 comboBox3.DataSource = new ChinaData().Select(comboBox2.SelectedValue.ToString()); comboBox3.DisplayMember = "AreaName"; comboBox3.ValueMember = "AreaCode"; } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { //綁定市 comboBox2.DataSource = new ChinaData().Select(comboBox1.SelectedValue.ToString()); comboBox2.DisplayMember = "AreaName"; comboBox2.ValueMember = "AreaCode"; } private void comboBox2_SelectedIndexChanged(object sender, EventArgs e) { //綁定區縣 comboBox3.DataSource = new ChinaData().Select(comboBox2.SelectedValue.ToString()); comboBox3.DisplayMember = "AreaName"; comboBox3.ValueMember = "AreaCode"; } } }