我需要从另一个类设置我的Combobox
,所以我试图在我的公共属性中设置值。这是我到目前为止,但组合框没有填充。
public string Title
{
set
{
_Title = value;
cmb_Title.Text = value;
}
get
{
return _Title;
}
}
我也尝试了cmb_Title.selectedText = value
,索引以及我能想到的一切,但我不确定是否因为我在我的财产中设置它。
任何想法将不胜感激。
答案 0 :(得分:0)
您想要将项目添加到组合框中,如下所示:
public string Title
{
set
{
_Title = value;
cmb_Title.Items.Add(_Title);
}
get
{
return _Title;
}
}
如果您也想要选择新添加的项目,也可以这样做。我建议使用新功能。
private static void AddItemsToComboBox(ComboBox cmb, string value)
{
cmb.Items.Add(value);
cmb.SelectedValue = value;
}
然后在你的二传手中调用它:
AddItemsToComboBox(cmb, _Title);
答案 1 :(得分:0)
请注意,我将form1作为所有者传递,因此form2可以访问属性Title。此外,这只是一个例子。如果一个集合在表单中应该是相同的,那么在现实生活中,我将绑定到DAL或业务层中可以共享它们的集合,而不是像这样添加项目。
public partial class Form1 : Form
{
private string _Title = "";
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
cmb_Title.Items.Add("Cat");
cmb_Title.Items.Add("Dog");
cmb_Title.Items.Add("Bear");
}
public string Title
{
set
{
_Title = value;
cmb_Title.SelectedIndex = cmb_Title.FindStringExact(value);
}
get
{
return _Title;
}
}
private void button1_Click(object sender, EventArgs e)
{
var form2 = new Form2();
form2.Show(this);
}
}
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
cmb_Title2.Items.Add("Cat");
cmb_Title2.Items.Add("Dog");
cmb_Title2.Items.Add("Bear");
}
private void cmb_Title_SelectedIndexChanged(object sender, EventArgs e)
{
var f1 = this.Owner as Form1;
f1.Title = cmb_Title2.Text;
}
}
答案 2 :(得分:0)
Combox1.SelectedIndex = Combox1.FindStringExact(" test1"); 它在困扰着我