一个WinForm  一个LoginUserControl 一个ListUserControl
想法是这样的 Form_Load 的时候 controls.add(LoginUserControl) 
如果登录成功就controls.clear();并且controls.add(ListUserControl)
现在的问题就是登录成功了LoginUserControl确实被clear()掉了  但是ListUserControl没有加进去(没显示)
下面是代码部分public Form()
        {
            InitializeComponent();
            s.SatusChange += new SDK.SatusChangedEventHandler(SatusChange);  // 登录对象s注册事件
        }
private void SatusChange(object sender, SDK.SatusChangedEventArgs e)  //登录状态改变
        {
            if (!IsLogon && e.Statu == SDK.Status.Logon)  //bool IsLogon标记是否已经登录
            {
                IsLogon = true;
                this.Controls.Clear();
                this.Controls.Add(ListCtrl);
                ListCtrl.Show();
            }
        }
private void Form_Load(object sender, EventArgs e)
        {
            LogCtrl = new CtrlLogin(s);       //s是传入的登录对象的引用 
            LogCtrl.Dock = DockStyle.Fill;
            ListCtrl = new CtrlList(s);     //login和登录之后显示的list是同一个引用
            ListCtrl.Dock = DockStyle.Fill;
            this.Controls.Add(LogCtrl);//在loginControl里完成登录
        }

解决方案 »

  1.   

    哦天~~ 怎么会这样  我也不知道我的问题出在哪里
    如果知道的话我一般去baidu了
    等待高人出现
      

  2.   


    private void Form_Load(object sender, EventArgs e) 
    {
     LogCtrl = new CtrlLogin(s); 
    LogCtrl.Dock = DockStyle.Fill;
    ListCtrl = new CtrlList(s);
    ListCtrl.Dock = DockStyle.Fill; 
    this.Controls.Add(ListCtrl);//我把这里的LogCtrl换成ListCtrl的话  是可以正常显示的
    }等高人出现