用戶控件:
相當於自定義的一個panel 里面可以放各種其他控件,並可以在后台一下調用整個此自定義控件。
使用方法:在項目上右鍵、添加、用戶控件,之后用戶控件的編輯與普通容器控件類似。如果要在后台往窗體中添加,
將其實例化,然后添加到想要添加的容器的Control集合中。
動態創建添加控件:
可以在一個大容器里一次性放入多個控件
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控件
組件中的最后一個控件,功能是可以根據用戶自定義的時間間隔來觸發時間,不會印象窗體本身的其他事件進行。
屬性:
Enable 設置控件是否啟用
Interval 設置事件的頻率,以毫秒為單位
事件只有一個:Tick事件
例:使用timer控件獲取當前時間並即時變動
private void timer1_Tick(object sender, EventArgs e) { label1.Text = DateTime.Now.ToString("yyyy年MM月dd日hh時mm分ss秒"); }
例:每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對話框會一直彈下去 }
控件聯動:
類似地區選擇,當選的某個省份,后面的下拉框相對變成對應省份的區縣
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"; }
