子线程调用主线程内容请使用委托函数

主线程读取文本显示文本内容,子线程会更新这个文本,并同步显示

1,类里面写一个委托函数
delegate void SetShowLogCallback();   //定义委托


2,程序load执行方法
private void Form1_Load(object sender, EventArgs e)
{
showSynchLog();

}

方法内容如下
 /**
* 显示同步日志内容
* **/
private void showSynchLog() {
TxtUtil txtUtil = new TxtUtil(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + Glob.LOG_NAME);
List<LogTxt> logTxts = txtUtil.readLastLineLogTxt(10);

if (data_log.InvokeRequired)
{ //控件是否跨线程?如果是,则执行括号里代码
SetShowLogCallback setShowLogCallBack = new SetShowLogCallback(showSynchLog);

data_log.Invoke(setShowLogCallBack);
}
else {
data_log.DataSource = logTxts;
}

//设置列名内容居中
data_log.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

data_log.Columns[0].HeaderText = "更新时间";
//设置列宽自动适应
data_log.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
//设置文本只可读
data_log.Columns[0].ReadOnly = true;
//设置文本内容居左
data_log.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;

data_log.Columns[1].HeaderText = "更新内容";
//设置列宽自动适应
data_log.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
//设置文本只可读
data_log.Columns[1].ReadOnly = true;
//设置文本内容居左
data_log.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
}


3,子线程去同步调用显示日志的方法
/**
* 书写同步日志
* **/
private void writeSynchLog() {
// 更新结束写同步日志,然后更新同步数据为0方便第二天再同步
TxtUtil txtUtil = new TxtUtil(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + Glob.LOG_NAME);
txtUtil.InsertLine(DateTime.Now.ToString("yyy-MM-dd HH:mm:ss") + "#" + "本次插入" + insertPregnancyingCount + "条在孕孕情," + insertPregnancyendCount + "条终止孕情;更新" + updatePregnancyingCount + "条在孕孕情," + updatePregnancyendCount + "条终止孕情!");
txtUtil.Save();
showSynchLog();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值