winfrom里有一個frmMain的主窗体,主窗体里有一個label,请问在一个usercontrols(用户自定义控件)里如何获取主窗体里label的值?usercontrols的代码如下:
……
……
using System.Windows.Forms;namespace MacauitSystem
{
public partial class Top2MenuClass : UserControl
{
//我需要在这里定义一个string a=(主窗体里label的值),请问如何解决? public Panel[] childPan2 = new Panel[4];
public Top2MenuClass()
{
InitializeComponent();
this.Dock = DockStyle.Top ;
}
……
……
using System.Windows.Forms;namespace MacauitSystem
{
public partial class Top2MenuClass : UserControl
{
//我需要在这里定义一个string a=(主窗体里label的值),请问如何解决? public Panel[] childPan2 = new Panel[4];
public Top2MenuClass()
{
InitializeComponent();
this.Dock = DockStyle.Top ;
}
里面Panel的个数啊(我是想用label里的值来自动设置panel个数,而不是用固定的数字来设定啊)。
Panel[] childPan2=null;
在load()中读取到label值后直接初始化即可,那就不用定义什么string 字段了。
这种对象依赖很不符合低耦规范你的需求是什么,或许,你应该在usercontrol中定义相关公开事件,而主窗体就调用这些事件,来操作usercontrol
public partial class MainForm : Form
{
private Top2MenuClass top2menu=new Top2MenuClass (); public MainForm ()
{
InitializeComponent();
top2menu .LableName=this.label1.Text;
}
}
}