首页 >后端开发 >C++ >如何在没有绑定源的情况下将自定义文本和值添加到 C# WinForms ComboBox?

如何在没有绑定源的情况下将自定义文本和值添加到 C# WinForms ComboBox?

Barbara Streisand
Barbara Streisand原创
2025-01-12 07:43:46983浏览

How to Add Custom Text and Value to a C# WinForms ComboBox without a Binding Source?

无需绑定源即可自定义 ComboBox 项目

在 C# WinApp 中使用 ComboBox 时,向其项目添加文本和值的典型方法涉及绑定到数据源。但是,如果您没有现成的绑定源,则需要其他解决方案。

解决方案:重写 ToString() 方法的自定义类

为了克服此限制,请创建一个自定义类,该类同时包含文本和值属性。重写 ToString() 方法以返回所需的文本。这是一个此类类的示例:

<code class="language-c#">public class ComboboxItem
{
    public string Text { get; set; }
    public object Value { get; set; }

    public override string ToString()
    {
        return Text;
    }
}</code>

使用方法:

定义自定义类后,您可以创建实例并将它们添加到 ComboBox:

<code class="language-c#">private void Test()
{
    ComboboxItem item = new ComboboxItem();
    item.Text = "项目文本1";
    item.Value = 12;

    comboBox1.Items.Add(item);
}</code>

检索值:

要检索所选项目的底层值,请将其强制转换为自定义类并访问 Value 属性:

<code class="language-c#">MessageBox.Show((comboBox1.SelectedItem as ComboboxItem).Value.ToString());</code>

这种自定义方法允许您使用与其实际值不同的特定文本填充 ComboBox,在没有专用数据源的情况下管理项目时提供更大的灵活性。

以上是如何在没有绑定源的情况下将自定义文本和值添加到 C# WinForms ComboBox?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn