组合框或列表框?

时间:2015-07-15 17:58:48

标签: c# combobox listbox

我很好奇我是否应该使用列表框或组合框来查找仓库部件号,然后点击它时触发事件。我希望能够单击该号码,然后从串行端口发送特定命令。我目前使用一些超链接来执行此操作,但现在有很多,下拉列表将有助于从中选择并触发相同的命令,就像它是超链接一样。

这是我为部件HC1_101单击超链接的代码...我可以用列表框替换它来发送相同的命令吗?我可以将链接添加到下拉列表中吗?

private void linkLabel_HC1_101_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    if (serialPort1.IsOpen)
    {
        var content = new List<byte>();
        content.Add(2);
        content.AddRange(Encoding.ASCII.GetBytes("01P00101##"));
        content.Add(3);
        byte[] buffer = content.ToArray();
        serialPort1.Write(buffer, 0, buffer.Length);
    }
}

1 个答案:

答案 0 :(得分:0)

许多开发人员通常会使用DropDownList控件。列表中的每个项目都具有Text属性(用户在屏幕上看到的内容)和Value属性(只有您的代码才能看到)。这是一个示例:

<asp:DropDownList ID="MyDropDownList" runat="server" OnSelectedIndexChanged="MyDropDownList1_SelectedIndexChanged">
   <asp:ListItem Value="1">Item One</asp:ListItem>
   <asp:ListItem Value="2">Item Two</asp:ListItem>
   <asp:ListItem Value="3">Item Three</asp:ListItem>
</asp:DropDownList>

ListItems中的文本和值可以由您的代码或数据源构建。在您的服务器代码中,您可以使用以下内容来处理用户从列表中进行选择:

    protected void MyDropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string value;

        value = MyDropDownList.SelectedValue;

        // TBD: Construct content from the value, and send it to your serial port.
    }

这有帮助吗?