动态加载UserControl的有关问题
动态加载UserControl的问题
一个WinForm 一个LoginUserControl 一个ListUserControl
想法是这样的 Form_Load 的时候 controls.add(LoginUserControl)
如果登录成功就controls.clear();并且controls.add(ListUserControl)
现在的问题就是登录成功了LoginUserControl确实被clear()掉了 但是ListUserControl没有加进去(没显示)
下面是代码部分
------解决方案--------------------
我做了一下,可以实现功能,不知道你的问题处在那里。
一个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里完成登录 }
------解决方案--------------------
我做了一下,可以实现功能,不知道你的问题处在那里。