private void Update_Display() { if (!flag_update_display && !my_can.get_rx_msg_flag()) { return; } flag_update_display = false; listView_Can.BeginUpdate(); int len = my_can.GetCanBufLen(); for (int i = 0; i < len; i++) { ListViewItem item; item = listView_Can.Items[i]; item.SubItems[0].Text = i.ToString(); Can_Data can = my_can.GetCanBufData(i); if (can.id > 0) { fill_item_can(ref item, ref can); } } listView_Can.EndUpdate(); }
private void fill_item_can(ref ListViewItem item, ref Can_Data can) { item.SubItems[1].Text = can.id.ToString("X"); item.SubItems[2].Text = can.period.ToString("D"); string info = ""; for (int j = 0; j < can.len; j++) { int val = can.data[j]; info += val.ToString("X"); info += ","; } info = info.Substring(0, info.Length - 1); item.SubItems[3].Text = info; }