额..?     为null... 用一个static变量试一下.? 

解决方案 »

  1.   

    static一样都是这样的情况可能是在load加载,所以有问题
      

  2.   

    因为我A里面的Lable不是预先赋值的,是从构造函数里传给Lable的
      

  3.   

    想看看楼主两个Load里的代码的顺序.
      

  4.   

    A 控件容器
       Label1
       B 控件
    首先你要去深入理解他的初始化过程.
       只有在执行 Load 方法 的时候才能够以控件名调用 控件而这里执行的顺序是 B 控件的 Load 方法 接着才是 A控件的 Load 方法. Label1在A 控件中.只有执行了A的Load 方法后才能够以控件名的形式调用Lable1 而你这里并没有执行A控件的Load方法.所以不能够得到Label1.Text 
      

  5.   

    Control C 里:
      string str="x"
      controlA A=new controlA(str);
      this.controls.add(A);
    Control A里:
      public static string RoomID;
      构造函数 public controlA(string i)
             {
                InitializeComponent();
                RoomID = i;
             }
    B是放在A里面的。。所以不用我new和add
    Control B里:
      private string BRoomID;
      private controlB_load(..)
      {
         controlA CA = (controlA)this.parent;  
         BRoomID = CA.RoomID;
         接着这里的代码一定要用到BRoomID。。
      }
    就是可能这些顺序不当
      

  6.   

    啊?是先load B再load A的吗?
      

  7.   

    应该是先初始化最底层的UserControl再初始化同级的控件
    最外层的控件最后初始化!
    最后才是页面初始化