【发布时间】:2015-02-15 05:18:51
【问题描述】:
我正在制作一个在运行时创建 ComboBox 的表单。基于该 ComboBox 的选择,我想创建另一个适当处理用户选择的控件。在这种情况下,它是源类型的下拉列表。 在 Main.Designer.cs 我有:
public System.Windows.Forms.ComboBox cboSourceTypes;
在 Main.cs 我有:
namespace DataVerification
{
public partial class Main : Form
{
public Main()
{
InitializeComponent();
Iinitialize_MyForm();
}
public void initialize_MyForm()
{
ComboBox cboSourceType = new ComboBox();
cboSourceType.Items.Add("ODBC");
cboSourceType.Items.Add("CSV");
cboSourceType.SelectedIndex = 0;
tabMyFrom.TabPages[0].Controls.Add(cboSourceType);
cboSourceType.SelectedIndexChanged += new System.EventHandler(cboSourceType_SelectedIndexChanged);
}
public void cboSourceType_SelectedIndexChanged(object sender, EventArgs e)
{
switch (cboSourceType.SelectedIndex)
{
case 1: //ODBC - Handle this selection
break;
case 2: //CSV - Handle this selection
break;
}
}
}
}
当我尝试从cboSourceType_SelectedIndexChanged 内部访问cboSourceType 时,似乎无法访问ComboBox,即使代码看起来与另一个非动态创建的项目中的代码相同。如何让cboSourceType_SelectedIndexChanged 识别ComboBox?
【问题讨论】: