首页 > 解决方案 > 如何从另一个 UserControl 更改 UserControl 并返回到第一个(C#)?

问题描述

C# WindowsForms应用程序

假设我们有 3 个用户控件和 3 个按钮。所以我对按钮进行了编程以更改 Click_event 上的用户控件。所以发生的事情是它将第一个用户控件更改为第二个用户控件,并从第二个更改为第三个。但是当我从第一个到第二个,然后从第二个返回到第一个用户控件时,我得到一个错误。那个错误是:

System.ArgumentException: '已进行循环控制引用。控件不能由其拥有或作为其父级。

这是我在 Buttons 中的代码:

if (!this.Controls.Contains(Example.Instance))
{
    this.Controls.Add(Example.Instance);               
    Example.Instance.Dock = DockStyle.Fill;
    Example.Instance.BringToFront();
}
else
{
    Example.Instance.BringToFront();
}

这是我在所有 3 个用户控件中的代码:

private static Example _instance;
public static Example Instance
{
    get
    {
        if (_instance == null)
            _instance = new Example ();
        return _instance;

    }
}

自从 3 天以来,我什么也没做,只是寻找解决方案.. 所以请.. 你能帮帮我吗!?

对不起我的英语不好。. . :-)

标签: c#visual-studiowinformsuser-controlsdynamic-usercontrols

解决方案


你要达到的目标是什么?您想根据单击的按钮动态更改用户控件吗?您可以通过将表单加载到面板中并在不同的表单上加载每个控件来完成此任务。


推荐阅读