C# 如何使用列表框放置Windows窗体对象/工具?

C# 如何使用列表框放置Windows窗体对象/工具?,c#,wpf,listbox,C#,Wpf,Listbox,我真的不知道如何表达这个问题,但我的意思是: 我正在Windows Visual Studio上制作一个C#应用程序。用户可以从表单左侧的列表框中选择一个项目,相应的信息显示在右侧。列表框中的每个项目将在右侧显示不同的图像、按钮、标签等组合 当使用designer for Windows窗体时,每个对象(按钮、标签)都会显示出来,这使得在列表框中为每个项目放置不同的对象变得很困难。我已经到了这样一个地步:有太多的按钮、标签等相互重叠,以至于我无法正确放置我的项目 我怎样才能解决这个问题?我应该使

我真的不知道如何表达这个问题,但我的意思是:

我正在Windows Visual Studio上制作一个C#应用程序。用户可以从表单左侧的列表框中选择一个项目,相应的信息显示在右侧。列表框中的每个项目将在右侧显示不同的图像、按钮、标签等组合

当使用designer for Windows窗体时,每个对象(按钮、标签)都会显示出来,这使得在列表框中为每个项目放置不同的对象变得很困难。我已经到了这样一个地步:有太多的按钮、标签等相互重叠,以至于我无法正确放置我的项目

我怎样才能解决这个问题?我应该使用某种控制吗

编辑:以下是我目前正在做的一个例子:

 if ((string)choiceBox.SelectedItem == "Home")
        {
            thatLabel.Visible = true;
            someLabel.Visible = true;
            anotherLogo.Visible = true;
            madeLabel.Visible = true;

            basiclabel3.Visible = false;
            basiclabel2.Visible = false;
            basiclabel1.Visible = false;
            externalipLabel.Visible = false;
            ipLabel.Visible = false;
            computernameLabel.Visible = false;
        }
        else if ((string)choiceBox.SelectedItem == "Basic Details")
        {
            string hostName = Dns.GetHostName();
            string ip = Dns.GetHostByName(hostName).AddressList[0].ToString();


            string extIP;
            using (WebClient wc = new WebClient())
            {
                extIP = wc.DownloadString("http://icanhazip.com/");
            }

            if (!string.IsNullOrEmpty(extIP))
            {
                externalipLabel.Text = extIP.ToString();
                externalipLabel.Visible = true;
            }   
            ipLabel.Text = ip.ToString();
            ipLabel.Visible = true;
            computernameLabel.Text = hostName.ToString();
            computernameLabel.Visible = true;
            basiclabel1.Visible = true;
            basiclabel2.Visible = true;
            basiclabel3.Visible = true;

            thatLabel.Visible = false;
            someLabel.Visible = false;
            anotherLabel.Visible = false;
            madeLabel.Visible = false;
        } 
    }

为每个可能的选择制作自定义控件并动态显示/创建适当的控件怎么样?@EugenePodskal这就是我试图做的。问题是什么?您知道如何创建自定义控件吗?您知道如何动态显示/创建控件吗?如果没有-这些问题已经被问了至少几次,因此可以很容易地搜索并应用于解决您的问题。@EugenePodskal请参阅我更新的问题可能的重复项