我有一个表单和2个UserControl,当表单加载时,在load()方法中,使用以下代码加载第一个usercontrol:
private void OlvidadaContraseña_Load(object sender, EventArgs e)
{
panel1.Controls.Clear();
UserControl1 Env = new UserControl1();
panel1.Controls.Add(Env);
}
如何清理面板(表单面板)并从第一个用户控件加载第二个用户控件?(从用户控件访问表单控件?)
感谢名单
答案 0 :(得分:0)
如果您想要更改干净面板并使用第一个用户控件加载其他用户控件,则必须使用delegate-event。 你在第一个usercontrol
中添加控件(按钮,..)在第一个userControl后面的代码中:
public partial class EnvioContraseña: UserControl
{
public delegate void LoadOtherUserControl(EnvioContraseña sender);
public event LoadOtherUserControl On_SelectButton;
public EnvioContraseña()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (On_SelectButton != null)
On_SelectButton(this);
}
}
然后在mainform
后面的代码中private void Form1_Load(object sender, EventArgs e)
{
panel1.Controls.Clear();
EnvioContraseña Env = new EnvioContraseña ();
Env.On_SelectButton += Env_On_SelectButton;
panel1.Controls.Add(Env);
}
void Env_On_SelectButton(EnvioContraseña sender)
{
panel1.Controls.Clear();
UserControl1 uc1 = new UserControl1();
panel1.Controls.Add(uc1);
}