明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
随笔 - 1277, 文章 - 0, 评论 - 214, 阅读 - 320万
  博客园  :: 首页  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

c# 多线程listbox委托

Posted on   且行且思  阅读(381)  评论(0编辑  收藏  举报
复制代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using System.Threading;


namespace test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        delegate void SendToParent(string txt);

       // public delegate string SendToParent();
        mysqlConnect conn = new mysqlConnect();
        DataTable dt = new DataTable();
        time tm = new time();
        private void Form1_Load(object sender, EventArgs e)
        {
           
            conn.getConnection();
           
        }
        private void ConnServer()
        {
            SendToParent stc = new SendToParent(ConnServerRes);
            SendToParent lb = new SendToParent(lbtext);
            //线程的相关操作
            this.Invoke(lb, new object[] { "获取用户名...." });
            DataTable dm = conn.executeQuery("select * from bbsmember");
            string[] meber=new string[dm.Rows.Count];
            
            for (int i = 0; i < dm.Rows.Count; i++)
            {
                meber[i] = dm.Rows[i]["username"].ToString();
            
            }
            this.Invoke(lb, new object[] { "等待插入...." });
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                string title = dt.Rows[i]["标题"].ToString();
                string text = dt.Rows[i]["内容"].ToString();
                //string pic = dt.Rows[i]["pic"].ToString();
                int dy = DateTime.Now.Day + 1;
                string year = DateTime.Now.Year.ToString();
                string m = DateTime.Now.Month.ToString().PadLeft(2, '0');
                string s = DateTime.Now.Second.ToString().PadLeft(2, '0');
               
                string date = DateTime.Now.Year.ToString() + "/"+DateTime.Now.Month.ToString().PadLeft(2,'0')+"/"+dy.ToString();
                Random rd = new Random();
                string h = rd.Next(0, 23).ToString().PadLeft(2, '0');
                string min = rd.Next(0, 59).ToString().PadLeft(2, '0');
                string tpdate = year+m+dy+h+min+s;
                string view = rd.Next(20,30).ToString();
                string i_id = "50_" + rd.Next(1,3).ToString() + "0";
                int j = rd.Next(1,37);
                string author_ip = meber[j];
                string sql = "insert  into bbslistdata(title,text,date,reply,views,author_ip,topdate,area_id) values ('" + title + "','" + text + "','" + date + "',0,'" + view + "','" + author_ip + "','" + tpdate + "','" + i_id + "')";
                if (conn.executeUpdate(sql) == true)
                {
                    this.Invoke(stc, new object[] { "插入成功" });
                }


            }
            this.Invoke(lb, new object[] { "插入完毕" });
            
        }

        private void ConnServerRes(string str)
        {

            //操作主线程中的控件
            listBox1.Items.Add(str);

        }
        private void lbtext(string str)
        {

            //操作主线程中的控件
            label1.Text=str;

        }

        private void button2_Click(object sender, EventArgs e)
        {
            string sql = "select * from data_content_1  order by ID ASC limit 50";
             dt = conn.executeQuery(sql);
            dataGrid1.DataSource = dt;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Thread connThread = new Thread(ConnServer);
            //connThread = new Thread(new ThreadStart(ConnServer));

            connThread.IsBackground = true;
            connThread.Start();


        }
    }
}
复制代码

 

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示