搞定多线程自动代码生成控件的问题,解决了参数不匹配异常

直接帖核心代码

private void button1_Click(object sender, EventArgs e)
        {
            this.tableLayoutPanel1.Controls.Clear();
            this.tableLayoutPanel1.RowCount = 10;
            this.tableLayoutPanel1.ColumnCount = 10;
            Button btn;
            List<Button> lst = new List<Button>();
            Thread objThread3 = new Thread(() =>
            {
                for (int i = 0; i < 50; i++)
                {
                    btn = new Button()
                    {
                        Name = i.ToString(),
                        Text = i.ToString(),
                        Size = new Size(50, 50),
                    };
                    lst.Add(btn);
                }

if (this.tableLayoutPanel1.InvokeRequired)
                {
                    Thread.Sleep(500);
                    this.tableLayoutPanel1.Invoke(new Action<List<Button>>(setControls),lst);
                }
            });
            objThread3.IsBackground = true;//设置为后台线程(通常都要这样设置)
            objThread3.Start();
        }

private void setControls(List<Button> lst )
        {
            tableLayoutPanel1.Controls.AddRange(lst.ToArray());
        }

时间: 2024-08-06 11:53:22

搞定多线程自动代码生成控件的问题,解决了参数不匹配异常的相关文章

JQuery自动填充控件:autocomplete(自己稍作了修改)

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="

Android 开源组件 ----- Android LoopView无限自动轮转控件

Android 开源组件 ----- Android LoopView无限自动轮转控件 2015-12-28 15:26 by 杰瑞教育, 32 阅读, 0 评论, 收藏, 编辑 一.组件介绍 App产品中信息列表头部都会有自动轮转的广告图片,使用ViewPager可以实现但编码比较麻烦,我们可以采用使用LoopView开源控件来完成, LoopView是一个强大的轮转大图控件,并且提供了许多配置方法足以满足你的应用需求 二.环境配置 如果您的项目使用 Gradle 构建, 只需要在您的buil

基于js 的自动提示控件

最近在工作中需要自动提示的功能,本身单独的这个控件来开发难度不是很大,特别是针对项目需求对应的单一功能,但是为了让开发出的控件可以随意使用,动态配置,那么这就需要一定的时间来开发了. 先说一下我们这个自动提示的功能的要求,在input控件中输入一些值,在对应的下方会有对应合适的选项,类似百度自动提示的功能.我的这个控件为了可以在很多地方可以不做修改的进行引入,所以支持方法配置,样式配置,不需要任何其他js库,使用ajax实现等功能,在调用的时候只需一个div 给出对应的id和方法名就可以的,还可

自定义ComboBox控件,完美解决C#自带的ComboBox效率慢的问题

自定义ComboBox控件,完美解决C#自带的ComboBox效率慢的问题 欢迎关注http://blog.csdn.net/aaa123524457 转载请注明出处:http://blog.csdn.net/aaa123524457/article/details/47058675 在做项目的时候,用到了ComboBox来做下拉列表的功能:但是在用的时候发现C#自带的ComboBox效率非常的慢! 当然我添加的是股票.期货的合约数据,大概有几千条信息,算是比较大的.如果用到的数据很少,就可以直

C#控件闪烁的解决方法

本文实例讲述了C#控件闪烁的解决方法.分享给大家供大家参考.具体分析如下: 如果你在Form中绘图的话,不论是不是采用的双缓存,都会看到图片在更新的时候都会不断地闪烁,解决方法就是在这个窗体的构造函数中增加以下三行代码: 请在构造函数里面底下加上如下几行: 代码如下: SetStyle(ControlStyles.UserPaint, true); SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景. SetStyle(Co

当有“Button1.Attributes.Add(&quot;onclick&quot;, &quot;return confirm(&#39;你确定要保存修改吗?&#39;)&quot;);”时,验证控件失效的解决方法

同一个页面用Js和服务器验证控件OnClientClick提交问题 实现功能:        点击Button按钮的OnClientClick事件,不会影响服务器验证控件的验证功能                                                (验证不通过,则不提交服务器页面)背景:       1. 在同一个页面有服务器验证控件(RegularExpressionValidator),多个       2. 有Javascript函数,实现验证和其他功能    

Android文字跑马灯控件(文本自动滚动控件)

最近在开发一个应用,需要用到文本的跑马灯效果,图省事,在网上找,但老半天都找不到,后来自己写了一个,很简单,代码如下: import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.os.Parcel; import android.os.Parcelable; import android.util.AttributeSet; impor

多线程操作UI控件——DataGridView假死现象

在多线程编程中,如果你从非创建这个控件的线程中访问这个控件或者操作这个控件的话就会抛出这个异常.这是微软为了保证线程安全以及提高代码的效率所做的改进,但是也 给大家带来很多不便. 今天我就遇到了一个类似的问题,对DataGridView指定 DataSource 来填充数据,更新数据的时候,会导致DataGridView出现假死,显示错误或者滚动条无法显示的问题,在保证了DataGridView的ScrollBars设置为了Both,数据量大于DataGridView显示的的范围,而且没有冻结列

UWP自动填充控件AutoSuggestBox小优化

UWP提供的AutoSuggestBox本身非常好用,在项目中经常用到,但是当我们使用时发现一下不人性化的设置,例子1如下: 1 <Page 2 x:Class="SelfInkCanvas.AutoBoxTest" 3 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 4 xmlns:x="http://schemas.microsoft.com/winfx/2006