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