Esempio n. 1
0
        public void SetTarget(MessageTarget target)
        {
            if (this._target.InvokeRequired)
            {
                this._target.BeginInvoke(new SetTargetDelegate(SetTarget), new object[] { target });
                return;
            }
            // Focus input
            this._inputBox.Focus();
            this._inputBox.Select(this._inputBox.Text.Length, 0);
            // Check if the target already exists in our list
            foreach (object t in this._target.Items)
            {
                MessageTarget ct = (MessageTarget)t;
                if (!ct.Equals(target))
                {
                    continue;
                }
                this._target.SelectedItem = t;
                return;
            }
            // Add new target
            int index = 0;

            foreach (MessageTarget t in this._target.Items)
            {
                if (t.Target.CompareTo(target.Target) > 0)
                {
                    this._target.Items.Insert(index, target);
                    this._target.SelectedIndex = index;
                    return;
                }
                index++;
            }
            index = this._target.Items.Add(target);
            this._target.SelectedIndex = index;
        }