读书人

动态加载UserControl的有关问题

发布时间: 2012-01-02 22:40:04 作者: rapoo

动态加载UserControl的问题
一个WinForm 一个LoginUserControl 一个ListUserControl
想法是这样的 Form_Load 的时候 controls.add(LoginUserControl)
如果登录成功就controls.clear();并且controls.add(ListUserControl)
现在的问题就是登录成功了LoginUserControl确实被clear()掉了 但是ListUserControl没有加进去(没显示)
下面是代码部分

C# code
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里完成登录        }




[解决办法]
我做了一下,可以实现功能,不知道你的问题处在那里。

读书人网 >C#

热点推荐