问题描述
我动态创建了comboBox。但我需要从SelectedIndexChanged中选择值。但是因为对象引用没有设置为对象的实例而得到错误。
I have created comboBox dynamically. But i need to select the value from " SelectedIndexChanged". But iam getting error as "Object reference not set to an instance of an object."
private ComboBox TimeIntervel;
int Stimer;
public void set control()
{
ComboBox TimeIntervelCmb = new ComboBox();
TimeIntervelCmb.Location = new Point(50,70);
TimeIntervelCmb.Name = "ComboBoxTime";
TimeIntervelCmb.Size = new Size(80, 100);
TimeIntervelCmb.Items.Add("500");
TimeIntervelCmb.Items.Add("1000");
TimeIntervelCmb.Items.Add("2000");
TimeIntervelCmb.Items.Add("3000");
TimeIntervelCmb.Items.Add("4000");
TimeIntervelCmb.Items.Add("5000");
TimeIntervelCmb.Items.Add("6000");
TimeIntervelCmb.SelectedIndexChanged += new EventHandler(TimeIntervel_SelectedIndexChanged);
this.Controls.Add(TimeIntervelCmb);
}
private void TimeIntervel_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
if (TimeIntervel.SelectedItem != null)// Object reference not set to an instance of an object.-Error
{
Stimer = int.Parse(TimeIntervel.SelectedItem.ToString());
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
我的尝试:
请为我提供解决方案。
private void TimeIntervel_SelectedIndexChanged(object sender,EventArgs e)
{
试试
{
if(TimeIntervel.SelectedItem) != null)
{
Stimer = int.Parse(TimeIntervel.SelectedItem.ToString());
}
}
catch(例外情况)
{
MessageBox.Show(ex.Message) ;
}
}
What I have tried:
Kindly provide me solution for this.
private void TimeIntervel_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
if (TimeIntervel.SelectedItem != null)
{
Stimer = int.Parse(TimeIntervel.SelectedItem.ToString());
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
推荐答案
private ComboBox TimeIntervel;
但你创建了一个另一个,并且未填充 TimeIntervel
。将 TimeIntervel
重命名为 TimeIntervelCMB
but instead you have created another one, and the TimeIntervel
is not populated. Rename the TimeIntervel
to TimeIntervelCMB
private ComboBox TimeIntervelCMB;
int Stimer;
public void set control()
{
TimeIntervelCmb = new ComboBox();
TimeIntervelCmb.Location = new Point(50,70);
TimeIntervelCmb.Name = "ComboBoxTime";
TimeIntervelCmb.Size = new Size(80, 100);
TimeIntervelCmb.Items.AddRange({500,1000,2000,3000,4000,5000,6000});
这篇关于在dymanic control -combobox中获取所选项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!