C# - 从组合框中检索选定的值

标签 c# .net winforms visual-studio-2010

我有一个带有 ValueMember = IDDisplayMember = Name 的组合框。我需要与该名称关联的值,所以我会这样做:

if (cboTypeOfMaterial.SelectedIndex != -1)
            {
                string temp = cboTypeOfMaterial.SelectedValue.ToString();
                //More code here...
            }

它以字符串形式返回 ID 值。例如 - “7”。

如果我尝试:

if (cboTypeOfMaterial.SelectedIndex != -1)
                {
                    string temp = cboTypeOfMaterial.DisplayMember.ToString();
                    //More code here...
                }

我得到字符串 Name 是关键。

而我需要的是获取被选元素的Name

的值

最佳答案

SelectedValue 将返回在 ValueMember 中定义的属性的值,SelectedItem 将返回被选中的整个对象,如果你想获取除 SelectedValue 之外的另一个值,您必须将其转换为 ComboBox 中的对象,然后您才能访问您的 Name 属性。

string temp = (cboTypeOfMaterial.SelectedItem as YourObjectType).Name;

关于C# - 从组合框中检索选定的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15083806/

相关文章:

c# - 从字节转换 unicode 字符

c# - 我应该把 KeepAlive 放在我的 finally block 中吗?

c# - TransactionScope 在同一 block 中调用 Membership 和 Roles(仅使用一个连接的方式?)

c# - 是否可以重用 backgroundworker 对象?

c# - 调用Windows API时CLR怎么比我快

c# - 为什么手动更改值时不会在 NumericUpDown 控件上触发 ValueChanged 事件?

c# - Visual Studio 2017 本地化发布设置

c# - 类总是尝试在设计 View 中打开,而不是代码 View

.NET Windows Forms - 拦截 Close X 事件

.net - 控件的大写/命名约定