【问题标题】:set combobox selected item as default for combobox in another form将组合框选定项设置为另一种形式的组合框的默认值
【发布时间】:2014-07-23 14:47:22
【问题描述】:

我有一个用于手持设备的 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 数据填充组合框,我知道我可以使用 SelectedIndex 从列表中设置默认值 我只是想念如何从默认选项表单中的选择中保存索引 # 并将其设置为在主窗体中。 还是我接近这个错误,我应该让 dataSet 成为所有表单的公共对象并以某种方式调用它?

【问题讨论】:

  • 短小精悍,我喜欢!虽然我对 xml 不太熟悉或不太熟悉,但它使用的文件是从数据库生成的,然后通过主动同步加载到设备上。我假设我仍然可以添加这个标签?你有任何链接可以为我指明正确的方向
  • 如果您认为答案正确,请接受以下答案。

标签: c# winforms combobox


【解决方案1】:

如何访问第二种形式?,您可以使用属性(它是具有 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;

【讨论】:

  • 谢谢,我还没有完全弄清楚(这里是菜鸟),但我认为这就是我所缺少的
【解决方案2】:

您可以在 xml 文件中添加一个标签来保存组合框的索引。将标签添加到文件很简单。您可以直接进入文件并这样做。您只需要在您的 c# 代码中弥补这一点。一篇好文章在this这里

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多