• Winform多线程使用委托操作控件


    随手记录

    private void barLargeButtonItem5_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
    {
    //重新加载数据
    Thread DataThread = new Thread(new ThreadStart(LoadData));
    DataThread.IsBackground = true;
    DataThread.Start();
    }

    #region 加载数据
    public void LoadData()
    {
    SetMarqueeProgress(true);

    DataTable dt = new DataTable();
    dt.Columns.Add(new DataColumn() { ColumnName = "编号" });
    dt.Columns.Add(new DataColumn() { ColumnName = "城市" });

    SetDgvDataSource(dt);
    SetMarqueeProgress(false);
    }
    #endregion

    #region 委托操作
    /// <summary>
    /// 显示隐藏等待条
    /// </summary>
    /// <param name="Visible"></param>
    delegate void mpDelegate(bool Visible);
    private void SetMarqueeProgress(bool Visible)
    {
    if (marqueeProgressBarControl1.InvokeRequired)
    {
    marqueeProgressBarControl1.Invoke(new mpDelegate(SetMarqueeProgress), Visible);
    }
    else
    {
    marqueeProgressBarControl1.Visible = Visible;
    }
    }

    /// <summary>
    /// 绑定数据
    /// </summary>
    /// <param name="table"></param>
    delegate void dgvDelegate(DataTable table);
    private void SetDgvDataSource(DataTable table)
    {
    if (PointDataGrid.InvokeRequired)
    {
    PointDataGrid.Invoke(new dgvDelegate(SetDgvDataSource), table);
    }
    else
    {
    PointDataGrid.DataSource = table;
    }
    }
    #endregion

  • 相关阅读:
    JavaScript事件冒泡简介及应用
    个人作业——软件工程实践总结&个人技术博客
    个人技术总结
    个人作业——软件测评
    寒假作业(2/2)
    寒假作业(1/2)
    gitlab-ci.yml可用关键字描述
    gitlab-Runner配置参数详解
    gitlab-ci部署实现持续集成(centos7)
    linux时间同步操作命令
  • 原文地址:https://www.cnblogs.com/tian2008/p/8087079.html
Copyright © 2020-2023  润新知