winform用户控件、动态创建添加控件、timer控件、控件联动

 用户控件:(1)

相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件。

使用方法:在项目上右键、添加、用户控件,之后用户控件的编辑与普通容器控件类似。如果要在后台往窗体中添加,

  将其实例化,然后添加到想要添加的容器的Control集合中。

动态创建添加控件:

配合上面的用户控件,实现类似QQ界面的打开自动加载好友昵称和签名

复制代码
 public Form1()
        {
            InitializeComponent();

            //将当前登陆的账号的全部好友信息取出来
            List<App_Code.haoyou> hhlist = new haoyouData().Select(label1.Text);


            //动态创建好友用户控件,添加到容器中去
            for (int i = 0; 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("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";
        }
复制代码

 

原文地址:https://www.cnblogs.com/1030351096zzz/p/6165678.html