相当于在c#组件中选择html标签

本文关键字:选择 html 标签 组件 相当于 | 更新日期: 2023-09-27 18:12:00

我正在使用combobox组件,它似乎相当于选择html标签,但没有在combobox的值?例如:

HTML select:

<select name="foo">
<option value="baa">xxx</option>
<option value="foo">yyy</option>
</select> 

如果选择的值是xxx,返回的值是baa for me

有可能用c#的一些组件来做这个吗?

我希望这是清楚的。

相当于在c#组件中选择html标签

您可以使用常规的ComboBox控件,但需要进行一些调整。在ComboBox中添加的每个项目都是object,并且在渲染时调用ToString()方法。

我们可以创建一个自定义类来添加为ComboBox item:

public class ComboBoxItem
{
    public ComboBoxItem(string value, string text)
    {
        Value = value;
        Text = text;
    }
    public string Value { get; set; }
    public string Text { get; set; }
    public override string ToString()
    {
        return Text;
    }
}

现在,您可以创建上述类的实例,并将其添加到ComboxBox.Items集合中。

private void Form1_Load(object sender, EventArgs e)
{
    comboBox1.Items.Add(new ComboBoxItem("1", "Green"));
    comboBox1.Items.Add(new ComboBoxItem("2", "Blue"));
    comboBox1.Items.Add(new ComboBoxItem("3", "Yellow"));
}

您可以通过将comboBox1.SelectedItem转换为CombBoxItem来访问所选项目,该项目是CombBoxItem的实例

var comboBoxItem = (ComboBoxItem) comboBox1.SelectedItem;
comboBoxItem.Text  //Green/Blue/Yellow
comboBoxItem.Value //1/2/3