用户控件:
相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件。
使用方法:在项目上右键、添加、用户控件,之后用户控件的编辑与普通容器控件类似。如果要在后台往窗体中添加,
将其实例化,然后添加到想要添加的容器的Control集合中。
动态创建添加控件:
配合上面的用户控件,实现类似QQ界面的打开自动加载好友昵称和签名
public Form1()
{
InitializeComponent(); //将当前登陆的账号的全部好友信息取出来
List<App_Code.haoyou> hhlist = new haoyouData().Select(label1.Text); //动态创建好友用户控件,添加到容器中去
for (int i = ; i < hhlist.Count; i++)
{
haoyou hy = new haoyou();
hy.label1.Text = hhlist[i].Fnickname;
hy.label2.Text = hhlist[i].Fcontent; flowLayoutPanel1.Controls.Add(hy);
}
}
动态创建添加控件
timer控件:
组件中的最后一个控件,功能是可以根据用户自定义的时间间隔来触发时间,不会印象窗体本身的其他事件进行。
属性:
Enable 设置控件是否启用
Interval 设置事件的频率,以毫秒为单位
事件只有一个:Tick事件
例:使用timer控件获取当前时间并即时变动
private void timer1_Tick(object sender, EventArgs e)
{
label1.Text = DateTime.Now.ToString("yyyy年MM月dd日hh时mm分ss秒");
}
控件联动:
类似地区选择,当选的某个省份,后面的下拉框相对变成对应省份的区县
public Form2()
{
InitializeComponent(); //绑定省
comboBox1.DataSource = new ChinaData().Select("");
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";
}
控件联动绑定地区