将数据从父级传递到对话框

时间:2010-08-13 13:18:10

标签: c# .net combobox dialog

我在对话框窗体中有一个组合框。我需要用List<>填充这个组合。来自父母表格。怎么做,因为我无法通过List<>通过对话框构造函数。

frmChild frm = new frmChild();
frm.ShowDialog();

3 个答案:

答案 0 :(得分:7)

您可以在表单上添加属性或方法,使用List<items>并填充ComboBox。

例如:

List<ItemType> items = GetItemsForFormsComboBox();
frmChild frm = new frmChild();
frm.SetComboItems(items);
frm.ShowDialog();

// in the form
public void SetComboItems(List<ItemType> items)
{
    foreach(var item in items)
    {
        myCombo.Add( /* construct combo item and use item to populate it here */ );
    }
}

答案 1 :(得分:1)

您可以设置对话框的属性以获取/设置列表&lt;&gt;数据

答案 2 :(得分:0)

  

您可以添加属性或方法   你的表格,拿着名单   并填充ComboBox

然后重载构造函数。

public class ComboBoxWindow : Window
{
    public ComboBoxWindow (Window origin)
    {
        // Now you can access your parent window's List<>.
    }

    // If necessary you can keep a reference to it.
    private Window _origin;
}

public class ComboBoxWindow : Window
{   
    // If necessary you can keep a reference to it.
    private IList _items;

    public ComboBoxWindow (IList _items)
    {
        // Now you can access your list directly.
    }
}

两种方式都没关系。

{享受}