예제 #1
0
        public virtual void OnChanged()
        {
            //if (!this.Visible)
            //{
            //    return;
            //}


            //label.Text = _flowItem.Text;
            string helpText = _flowItem.ToString();

            if (string.IsNullOrEmpty(helpText))
            {
                _hoverCursor = Cursors.Default;
            }
            else if (_hoverText != helpText)
            {
                if (_hoverCursor != null && _hoverCursor.Tag != null && _hoverCursor.Tag is String && (_hoverCursor.Tag as String) == "Custom")
                {
                    _hoverCursor.Dispose();
                }
                _hoverCursor     = CustomCursor.CreateText(helpText);
                _hoverCursor.Tag = "Custom";
            }
            _hoverText = helpText;

            if (_flowItem.Highlighted)
            {
                this.label.ForeColor = System.Drawing.Color.Blue;
                this.label.Font      = _fontBold;
                //this.label.BackColor = System.Drawing.SystemColors.Highlight;
            }
            else
            {
                this.label.ForeColor = System.Drawing.SystemColors.ControlText;
                this.label.Font      = _fontBase;
                //this.label.BackColor = System.Drawing.Color.Transparent;
            }


            switch (_state)
            {
            case eflowItemState.Empty:
                this.label.ForeColor = Color.Gray;
                this.label.Update();
                break;

            case eflowItemState.Problem:
                this.label.ForeColor = Color.Red;
                this.label.Update();
                break;
            }
        }