Пример #1
0
        /// <summary>
        /// Write variable
        /// </summary>
        private void btnWrite(object sender, EventArgs e)
        {
            try
            {
                Cursor = Cursors.WaitCursor;
                if (_connection != null && _connection.Connected)
                {
                    var names  = new List <string>();
                    var txts   = new List <TextBox>();
                    var values = new List <Command.SharerWriteValue>();

                    foreach (var pnl in this.pnlVariables.Controls.OfType <FlowLayoutPanel>())
                    {
                        var chk = pnl.Controls.OfType <CheckBox>().First();
                        if (chk.Checked)
                        {
                            names.Add(chk.Name);
                            var txt = pnl.Controls.OfType <TextBox>().First();
                            txts.Add(txt);
                            values.Add(new Command.SharerWriteValue(chk.Name, txt.Text));
                        }
                    }


                    var allSuccess = _connection.WriteVariables(values);

                    for (int i = 0; i < values.Count; i++)
                    {
                        txts[i].ForeColor = values[i].Status == Command.SharerWriteVariableStatus.OK ? Color.Black : Color.Red;
                        tt.SetToolTip(txts[i], values[i].Status.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                handleException(ex);
            }
            finally
            {
                Cursor = Cursors.Default;
            }
        }