如何让自定义控件属性值更改后,值立即显示到界面上 Invalidate()

来源:互联网 发布:韩国网络加速器 编辑:程序博客网 时间:2024/06/05 17:17

在自定义控件(复合控件)后,有些属性想立即显示到界面上,而不是编译之后才能,显示到界面上,这个时候,应该在控件属性的set操作里面添加相应的函数处理。

 

using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Data;using System.Linq;using System.Text;using System.Windows.Forms;namespace MyControl
{    public partial class ColorForGridControl : UserControl    {        public ColorForGridControl()        {            InitializeComponent();            DisplayText = "已成交";        }        private string displayText;        public string DisplayText        {            get { return displayText; }            set            {                displayText = value;                this.lblDisplayText.Text = DisplayText;                this.Invalidate();            }        }        private Color color;        public Color Color        {            get { return color; }            set            {                color = value;                this.pnlColor.BackColor = Color;                this.lblDisplayText.ForeColor = Color;                this.Invalidate();            }        }        private void ColorForGridControl_Load(object sender, EventArgs e)        {            if (Color == Color.Empty)                Color = Color.Green;            if (DisplayText == string.Empty)                DisplayText = "已成交";            this.pnlColor.BackColor = Color;            this.lblDisplayText.ForeColor = Color;            this.lblDisplayText.Text = DisplayText;        }    }}