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

Posted 尘暮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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";
        }
复制代码

 

 

以上是关于winform用户控件动态创建添加控件timer控件控件联动的主要内容,如果未能解决你的问题,请参考以下文章

winform如何用Timer实现将时间动态显示在窗体上?

winform用户控件timer控件三级联动

C#winform动态添加控件

在winform上添加用户控件过多时出现闪烁

wpf怎么使用WindowsFormsHost(即winform控件)

C#winform控件动态添加和动态移除