Beispiel #1
0
 private void SetListView(string msg, string submsg)
 {
     if (this.lvSolutions.InvokeRequired)//如果调用控件的线程和创建创建控件的线程不是同一个则为True
     {
         while (!this.lvSolutions.IsHandleCreated)
         {
             //解决窗体关闭时出现“访问已释放句柄“的异常
             if (this.lvSolutions.Disposing || this.lvSolutions.IsDisposed)
             {
                 return;
             }
         }
         SetListViewCallback d = new SetListViewCallback(SetListView);
         this.lvSolutions.Invoke(d, new object[] { msg, submsg });
     }
     else
     {
         this.lvSolutions.BeginUpdate();
         ListViewItem lvi = new ListViewItem();
         lvi.Text = DateTime.Now.ToString("HH:mm:ss:fff");
         lvi.SubItems.Add(msg);
         lvi.SubItems.Add(submsg);
         this.lvSolutions.Items.Add(lvi);
         //总是显示最后一行
         this.lvSolutions.Items[this.lvSolutions.Items.Count - 1].EnsureVisible();
         this.lvSolutions.EndUpdate();  //结束数据处理,UI界面一次性绘制。
     }
 }
 private void SetImage(int itemInList, int imgId)
 {
     if (computerListView.InvokeRequired)
     {
         SetListViewCallback d = new SetListViewCallback(SetImage);
         Invoke(d, new object[] { itemInList, imgId });
         return;
     }
     computerListView.Items[itemInList].ImageIndex = imgId;
 }
 private void populateDataSafe(User u)
 {
     if (listView.InvokeRequired)
     {
         SetListViewCallback d = new SetListViewCallback(populateDataSafe);
         listView.Invoke(d, new object[] { u });
     }
     else
     {
         ListViewItem row = new ListViewItem(u.UserName);
         row.Tag = u;
         listView.Items.Add(row);
     }
 }
Beispiel #4
0
 public static void AddToListView(Form form, Control ctrl, ListViewItem trans)
 {
     if (ctrl.InvokeRequired)
     {
         SetListViewCallback d = new SetListViewCallback(AddToListView);
         form.Invoke(d, new object[] { form, ctrl, trans });
     }
     else
     {
         if (ctrl is ListView)
         {
             ((ListView)ctrl).Items.Add(trans);
         }
     }
 }