大佬教程收集整理的这篇文章主要介绍了Windows表单C#按代码更改用户控件,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
private void Btt_info_Click(object sender,EventArgs E) { Frm_Main frm_main = new Frm_Main(); frm_main.Controls["panel1"].Controls.Clear(); UC_Info uc_info = new UC_Info(); frm_main.Controls["panel1"].Controls.Add(uc_info); }
我添加了这个,但它不起作用
Panel myPanel = new Panel(); LoginPage ctlLoginPage = new LoginPage(); HomePage ctlHomePage = new HomePage(); //add the loginpage to the panel first myPanel.Controls.Add(ctlLoginPagE); ...do stuff... //remove whatever control is currently in the Panel myPanel.Controls.Clear(); //add the other control,the HomePage control instead Now myPanel.Controls.Add(ctlHomePagE); ..do other stuff...
我通常这样做,所以你将表单本身打开以添加可能在不同“页面”之间共享的常用控件和内容.
编辑:请注意,我通常会在设计器中添加面板,而不是在代码中动态创建它.这只是一个例子.
编辑:你的mainform和usercontrols之间的交互可以用几种不同的方式处理,我并不是说这些都是正确的方法.
>您在Mainform上为Panel创建静态属性,以便这样做
您可以随时访问它以交换控件.
在这个例子中,我还将为它添加一个静态方法
enum PanelControlsEnum {HomePage,LoginPagE}; public static Panel MyContainerPanel {get;set;} public static void SwitchPanelControls(PanelControlsEnum selControl){ ..put your switch panels code here.. }
然后在你的usercontrol中调用一个预定义的方法,例如:
@H_973_7@mainForm.SwitchPanelControls(PanelControlsEnum.HomePagE);
>另一种方法是绑定主窗体上的按钮单击事件
而不是在表格内.
像这样:
HomePage ctlHomePage = new HomePage(); ctlHomePage.Click += MyClickEvent; myPanel.Controls.Add(ctlHomePagE)
…
private void MyClickEvent(object sender,RoutedEventArgs E) { ..switch user control code here... }
以上是大佬教程为你收集整理的Windows表单C#按代码更改用户控件全部内容,希望文章能够帮你解决Windows表单C#按代码更改用户控件所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。