void OnValueUpdated(object sender, GXAmiDataValue[] values)
 {
     foreach (GXAmiDataValue it in values)
     {
         ListViewItem item = PropertyToListItem[it.PropertyID] as ListViewItem;
         if (item != null)
         {
             item.SubItems[2].Text = it.UIValue.ToString();
             item.SubItems[3].Text = it.TimeStamp.ToString();
         }
     }
 }
 void Client_OnValueUpdated(object sender, GXAmiDataValue[] values)
 {
     if (this.InvokeRequired)
     {
         this.BeginInvoke(new ValueUpdatedEventHandler(OnValueUpdated), sender, values);
     }
     else
     {
         OnValueUpdated(sender, values);
     }        
 }
 void OnUpdated(GXAmiDataValue[] values)
 {
     DC.UpdateValues(values);
 }