C#--运动控制05--日志显示(ListView和imageList控件使用)
2021/12/5 22:46:45
本文主要是介绍C#--运动控制05--日志显示(ListView和imageList控件使用),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1,主窗体:中添加日志的委托
private void FrmMain_Load(object sender, EventArgs e) { //打开默认的窗体:实时监控窗体 CommonNaviButton_ClickEvent(this.btn_monitor,null); //板卡初始化 AddLog(0, "板卡正在初始化板卡正在初始化板卡正在初始化板卡正在初始化板卡正在初始化板卡正在初始化板卡正在初始化板卡正在初始化"); //测试其他的日志显示 for (int i = 0; i < 100; i++) { AddLog(i,i.ToString()+ "板卡正在初始化板卡正在初始化板卡正在初始化板卡正在初始化板卡正在初始化板卡正在初始化板卡正在初始化板卡正在初始化"); } } //添加日志委托 private Action<int, string> AddLog;
2,实时监控窗体:添加imageList
3,实时监控窗体:添加ListView
【2.1】ListView设置1
视图:Details
小imageList:选择上面的imageList
【2.2】ListView设置2:添加2列
【2.3】ListView设置3:不显示列表头
【2.4】ListView设置4:可以看到完整信息内容
ShowItemToolTips:True。默认False改到True。当内容长度超过1行,可以提示看到完成的信息内容
【2.5】ListView设置5:不显示滚动条
Scrollable:False:不显示滚动条
3,实时监控窗体:编写委托对应的方法
public partial class FrmMonitor : Form { public FrmMonitor() { InitializeComponent(); //设置第二列内容的宽度 this.lvw_info.Columns[1].Width = this.lvw_info.Width - this.lvw_info.Columns[0].Width; } /// <summary> /// 添加日志信息 /// </summary> /// <param name="index">日志等级(0:info,1:warning,2:error)</param> /// <param name="log">日志信息</param> public void AddLog(int index, string log) { if (!this.lvw_info.InvokeRequired)//如果没有跨线程访问 { ListViewItem lstItem=new ListViewItem(CurrentTime,index); lstItem.SubItems.Add(log); this.lvw_info.Items.Insert(0, lstItem);//保证最新的显示在第一条 //只保留最后100条记录 if (lvw_info.Items.Count > 100) { lvw_info.Items.RemoveAt(100); } } else//如果有线程从多线程使用 { this.lvw_info.Invoke(new Action(() => { ListViewItem lstItem = new ListViewItem(CurrentTime, index); lstItem.SubItems.Add(log); this.lvw_info.Items.Insert(0, lstItem);//保证最新的显示在第一条 //只保留最后100条记录 if (lvw_info.Items.Count > 100) { lvw_info.Items.RemoveAt(100); } })); } } private string CurrentTime { get { return DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); } } }
4,主窗体打开监控窗体的时候:给委托绑定方法
frm=new FrmMonitor(); //打开监控窗体的时候,主窗体的AddLog委托绑定监控窗体的AddLog方法 this.AddLog = ((FrmMonitor) frm).AddLog;
5,日志效果:
这篇关于C#--运动控制05--日志显示(ListView和imageList控件使用)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-11-18微软研究:RAG系统的四个层次提升理解与回答能力
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具