代码之家  ›  专栏  ›  技术社区  ›  Srusti Thakkar

如何在编辑时在Windows应用程序中显示基于组合框选择的控件?

  •  3
  • Srusti Thakkar  · 技术社区  · 8 年前

    Value type 1

    Value Type 2

    我使用的是Windows应用程序,创建了一个用于添加和编辑模式的窗体。问题出在“添加”上,它可以正常工作,但在“编辑”上,控件不会基于组合框选择显示。根据我的组合框选择更改事件,我已经隐藏了控件。但是我的组合框没有选择值,也没有触发更改事件。代码为:

    //Edit Mode        
    
    public CompanyAddEdit(MainForm form, string id)
    {
        InitializeComponent();
        passedForm = form;
        var cmbList = BindCompanyType();
        isEdit = true;
        xmlDocPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Companies.xml");
        xDocument = XDocument.Load(xmlDocPath);
        Id = Convert.ToInt32(id);
        XElement company = xDocument.Descendants("Company").FirstOrDefault(p => p.Element("Id").Value == Id.ToString());
    
        if (company != null)
        {
            var type = company.Element("DataSourceType").Value;
            cmbbx_companyType.SelectedItem = type;
        }
    }
    

    我正在使用此方法绑定组合框:

    private Array BindCompanyType()
    {
        var companyTypeList = Enum.GetValues(typeof(CompanyType));
        cmbbx_companyType.DataSource = companyTypeList;           
        return companyTypeList;
    }
    

    任何帮助都将不胜感激。

    1 回复  |  直到 8 年前
        1
  •  1
  •   sujith karivelil    8 年前

    因此,您已经用类型为的项填充了组合框 CompanyType 枚举。所以选中的项目也应该是相同的类型。希望你能从 company.Element("DataSourceType").Value;

    cmbbx_companyType.SelectedItem = Enum.Parse(typeof(CompanyType),type);        
    

    请尝试一下,让我知道它是否解决了问题。