我在C#中使用下拉框表单。当下拉框变成了时,我希望它将自定义用户控件加载到面板中。我没有编译错误,没有运行时错误,但我也没有看到用户控件。这里的想法是,每个用户控件都了解不同场景的配置。我想将每个场景封装在自己的控件中,并且下拉框允许用户选择场景,该场景为用户加载控件以执行配置。通过调整下拉菜单中的选项,我可以自定义给定客户的具体情况。正如我所说,我的问题是我无法使任何控件变得可见。这是我使用的下拉指数变化的事件处理程序的代码:动态添加的自定义用户控件不可见
private void ddlCollectorType_SelectedIndexChanged (object sender, EventArgs e)
{
m_currentControl = null;
pnlDeviceConfig.Controls.Clear();
switch ((string) ddlCollectorType.SelectedItem)
{
case "SEL-421":
SEL421ASCIIControl s421 = new SEL421ASCIIControl (this);
m_currentControl = s421;
pnlDeviceConfig.Controls.Add (s421);
break;
case "SEL-421 (FTP)":
break;
case "GE D60":
GED6061850Control geD60 = new GED6061850Control (this);
m_currentControl = geD60;
pnlDeviceConfig.Controls.Add (geD60);
break;
case "GE D60 (TFTP)":
break;
case "MiCOM P442":
break;
}
}
我只创建了几个用户控件至今,因此空的case语句。当我做出应该给我看的东西的选择时,我什么也得不到(在调试器中证实我正在触及case case body)。任何帮助将不胜感激!
对我来说,看起来很奇怪,你没有定位或停靠你的控件。我会尝试在调试器中检查它们的X/Y位置和“Size”值。我猜他们是简单的 - “屏幕”或太小。 – 2012-08-07 18:41:42
好吧,我在组件中挖掘出来,发现我将它添加到面板后,我有一个X,Y为0,0(精细),但我有一个宽度,高度为0,0以及(不好) 。我有点用C#练习,我该如何解决这个问题? – Nik 2012-08-07 18:53:35
设置['Width'](http://msdn.microsoft.com/zh-cn/library/system.windows.forms.control.width.aspx)和['Height'](http:// msdn。 microsoft.com/en-us/library/system.windows.forms.control.height.aspx)属性;-) – 2012-08-07 18:56:38