首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

Panel传值有关问题

2014-01-15 
Panel传值问题是这样的,我在Winform窗口上布置了一个Panel,然后我另外做了两个用户控件,一个作为登入页面,

Panel传值问题
是这样的,我在Winform窗口上布置了一个Panel,然后我另外做了两个用户控件,一个作为登入页面,另一个作为成功登入页面。现在程序运行的时候,我先让Panel加载了登入页面,然后和数据库比对用户名密码,这步没问题,然后,在这个用户控件中我在里面放了一个登入按钮,我想让它被点击的时候,窗口能够收到用户控件的消息,然后擦除Panel当前的登入页面,加载成功页面的用户控件,该如何做比较好?
我试了一下在窗口里写一个public的方法,但是好像没有成功,刚上手C#,代码写不好,请各位多多指导。
附:
解释一下,login和examselect是两个用户控件,WorkArea就是Panel的name,nextpanel就是我写的方法,我的想法是在login这个用户控件中,加了一个button,然后click事件就是调用这个nexpanel的方法,括号里面的string仅仅是用来判断现在加载的是login还是examselect用户控件。

                                                                            
[解决办法]
你为什么要做两个用户控件呢?把两个页面做成一个用户控件,只要判断panel的显示和隐藏问题就好了啊。
[解决办法]
            foreach (UserControl uc in this.WorkArea.Controls)
            {
                uc.Dispose();
            }
->
            foreach (Control c in this.WorkArea.Controls.Cast<Control>().ToList())
            {
                this.WorkArea.Controls.Remove(c);
            }
[解决办法]
集中方法,通过public的接口通过实例去访问,或者通过自定义事件委托去交互

热点排行