【问题标题】:How can I use an enum as a datasource?如何使用枚举作为数据源?
【发布时间】:2013-02-14 17:47:56
【问题描述】:

我想使用枚举中的值作为某些组合框的来源。这会编译,但不会填充组合框:

private enum ValueType { Text, Barcode }

private ValueType vt;

private void FormCPCLCodeGenUtil_Load(object sender, EventArgs e)
{
    comboBoxType1.DataSource = vt;
}

...这不应该让我感到惊讶,因为 vt 没有被赋值;而且我不希望组合框只有一个值。那么我该怎么做(或者有没有比使用枚举作为数据源更好的方法)?

更新

一个附带问题:当多个组合框将使用相同的数据源时,哪一个更好:

    comboBoxType1.DataSource = Enum.GetNames(typeof(ValueType)); 
    comboBoxFontSize1.DataSource = Enum.GetNames(typeof (FontSizeType));
    comboBoxAlign1.DataSource = Enum.GetNames(typeof(AlignOptions));

    //comboBoxType2.DataSource = comboBoxType1.DataSource; 
    comboBoxType2.DataSource = Enum.GetNames(typeof(ValueType));

(使用之前分配的comboboxes数据源作为自己的数据源,还是和之前的一样连接?)

【问题讨论】:

  • Clay 网上有很多这样的例子,你为什么拒绝使用Google,这里也有一个类似的帖子,我发现使用Googlestackoverflow.com/questions/1177915/…
  • 我切换到 Bing;前两个链接没有帮助,所以我来到这里。
  • 没问题第一个链接也有一个接受答案的例子

标签: c# combobox enums datasource


【解决方案1】:

你可以试试这个

comboBoxType1.DataSource= Enum.GetNames(typeof(ValueType));

【讨论】:

  • 也许还有 .ToList()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-14
  • 2013-04-28
  • 1970-01-01
  • 1970-01-01
  • 2016-07-25
  • 1970-01-01
相关资源
最近更新 更多