c# - 从 DataGridView 中的枚举创建下拉列表选项

标签 c# .net winforms user-interface .net-2.0

我目前有一个类,我正在尝试创建一个简单的 GUI 来创建此类的集合。这个类的大部分属性都是字符串。但是,我希望用户能够设置的属性之一是枚举。因此,我希望用户界面具有此枚举的下拉列表,以限制用户输入无效的值。目前,我正在获取对象的初始列表,将它们添加到 DataTable 并将我的 DataGridView 的 DataSource 设置为该表。效果很好,甚至为一个 bool 属性创建了一个复选框列。但是,我不知道如何将枚举列变成下拉列表。我正在使用 C# 和 .NET 2.0。

此外,我已经尝试将 DataGridView 的数据源分配给我的对象列表,但是当我这样做时,它对枚举没有帮助,我无法在 DataGridView 中创建新行,但是我我绝对不必使用 DataTable 作为我的数据源,这只是我半工作的选择。

最佳答案

我不知道这是否适用于 DataGridView 列,但它适用于 ComboBoxes:

comboBox1.DataSource = Enum.GetValues(typeof(MyEnum));

和:

MyEnum value = (MyEnum)comboBox1.SelectedValue;

更新:它也适用于 DataGridView 列,请记住设置值类型。

DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn();
col.Name = "My Enum Column";
col.DataSource = Enum.GetValues(typeof(MyEnum));
col.ValueType = typeof(MyEnum);
dataGridView1.Columns.Add(col);

关于c# - 从 DataGridView 中的枚举创建下拉列表选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56443/

相关文章:

c# - 使用 RFC_READ_TEXT 从销售订单中检索文本

C# 如何改变按钮的颜色一秒钟

c# - 如何使用表单例份验证获取 Windows 用户凭据?

c# - 如何在 C# 中创建一个以常量作为参数的类?

c# - 带有自定义 header 的 Ajax 请求到其他域 WebApi

.net - 如何在 vs2015 中为本地发布的站点启用内存使用诊断

c# - 无法以编程方式加载 xll

c# - 在 .NET Winforms 应用程序中创建图像按钮

c# - WinForms 工具提示未显示

winforms - 如何使用 C# 将 Windows 窗体面板作为位图获取?