WinForm 动态添加用户控件及控件与父窗体值传递问题......急~~
winForm问题:
"用户控件"是动态加载的,但是这个"用户控件"要改变包含它的窗体中的一个文本框的文本,怎么做呢?
请大哥们帮帮小弟!
有人说用委托,但不知道怎么做?能有例子吗?
---------------
switch (UC_name)
{
case "TestControl":
TestControl tc = new TestControl();
tc.Parent = this.MAINUC_panel;
tc.Size = this.MAINUC_panel.Size;
tc.Show();
break;
case "TEST2":
TEST2 t2 = new TEST2();
t2.Parent = this.MAINUC_panel;
t2.Size = this.MAINUC_panel.Size;
t2.Show();
break;
}
在TEST2用户控件中有一个按钮,要注是一按按钮,主窗体中的一个Lable值就改变....
------解决方案--------------------
private bool _isNecessary = false;
/// <summary>
/// 是否必输项属性设定
/// </summary>
public bool IsNecessary
{
get { return _isNecessary; }
set {
//if (_isNecessary != value)
//{
_isNecessary = value;
OnNecessaryChanged();
//}
}
}
//声明委托
public delegate void ChangedEventHandler();
//声明NecessaryChanged事件
public event ChangedEventHandler NecessaryChanged;
//委托事件的虚方法
protected virtual void OnNecessaryChanged()
{
if (NecessaryChanged != null)
NecessaryChanged();
}
#region NecessaryChanged事件
void DETextBox_NecessaryChanged()
{
necessaryColor();
}
#endregion