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