Esempio n. 1
0
        private void LstViewToSend_AfterLabelEdit(object sender, LabelEditEventArgs e)
        {
            // Determine if label is changed by checking for null.
            if (e.Label == null)
            {
                return;
            }

            string       strLabel = e.Label;
            ListViewItem item     = lstViewToSend.Items[e.Item];

            RTDE_Package.ControllerIOData ctrlIOData = (RTDE_Package.ControllerIOData)item.Tag;
            if (RTDE_Data_Package.IsValueValid(ctrlIOData.Type, ref strLabel))
            {
                ctrlIOData.Value = strLabel;
                item.BackColor   = SystemColors.Window;
                lstViewToSend.BeginInvoke(new Action(() => item.Text = strLabel));
                e.CancelEdit = false;
                return;
            }
            e.CancelEdit = true;

            lstViewToSend.BeginInvoke(new Action(() => item.Checked   = false));
            lstViewToSend.BeginInvoke(new Action(() => item.BackColor = Color.PaleVioletRed));
            item.BeginEdit();
            toolTip1.Show("Value must be " + ctrlIOData.Type.GetAttribute <RTDE_Package.DataTypeAttribute>().Name, lstViewToSend, item.Position, 3000);
        }
Esempio n. 2
0
        private void UrController_RecDataPackage(object sender, EventArgs e)
        {
            if (lstViewToRecv.IsDisposed || lstViewToRecv.Disposing)
            {
                return;
            }
            if (InvokeRequired)
            {
                Invoke((MethodInvoker) delegate { this.UrController_RecDataPackage(sender, e); });
                return;
            }

            if (lstViewToRecv.CheckedItems.Count == urController.LastValidatedOutputs.Count)
            {
                foreach (ListViewItem item in lstViewToRecv.CheckedItems)
                {
                    string sItemName = ((RTDE_Package.ControllerIOData)item.Tag).Name;
                    RTDE_Package.ControllerIOData ioItem = urController.LastValidatedOutputs.Find(x => x.Name == sItemName);

                    if (ioItem != null)
                    {
                        item.Text = ioItem.Value;
                    }
                }
            }
            else
            {
                Debug.Print("Received Controller Data Package returning wrong list lenght.");
            }
        }