在自定义控件(复合控件)后,有些属性想立即显示到界面上,而不是编译之后才能,显示到界面上,这个时候,应该在控件属性的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;
}
}
}