我有一个手持设备的winforms项目,我有多个表单,我有一个表单来设置另一个表单的默认选项,例如,在默认表单上有一个用xml填充的位置的组合框。我想要做的是当用户从默认表单的下拉列表中选择一个位置并点击保存时,我需要将所选位置设置为主窗体上的默认位置(显示第一个)。
//Main Form
private void Form1_Load(object sender, EventArgs e)
{
string filePath = "/My Documents/AHWLtTables.txt";
dataSet1.ReadXml(filePath);
comboBox2.DataSource = dataSet1.Tables[8];
comboBox2.ValueMember = "Loc";
comboBox2.DisplayMember = "Desc";
}
这将使用xml数据填充comboBox,我知道我可以使用SelectedIndex从列表中设置默认值我只是缺少如何从默认选项表单中的选择中保存索引#并将其设置为#在主要形式。 或者我是否接近这个错误,我应该将dataSet设置为跨所有表单的公共对象并以某种方式调用它吗?
答案 0 :(得分:0)
如何访问第二个表单?,您可以使用属性将其发送到另一个表单(使用get和set方法将其变为任何类型的变量),您可以使用第二种形式声明属性:
public int indexCombo {get; set;}
当您致电表格时,请使用以下内容:
Form2 myForm2 as Form2();
myForm2.indexCombo = comboBox2.selectedIndex; //I won't remember exactly the method XD sorry
//As you see first make the instace of the form and second set the value of the property
myForm2.show();
最后,在表格的加载中显示所选索引的新表格:
comboBoxForm2.selectedIndex = indexCombo;
答案 1 :(得分:0)
您可以在xml文件中添加一个标记,以保存组合框的索引。将标记添加到文件很简单。您可以直接进入该文件并执行此操作。您只需要在c#代码中弥补这一点。一篇好文章this在这里