List<Button> buttons = new List<Button>();
private void sp_DataReceived(Byte[] ReceivedData)//数据显示
{
var btn = buttons[ID-2];
btn.Visible = true;
btn.Text = RecvDataText;//RecvDataText为接收到的数据如:ID:2 时间:2016-5-2 14:23
btn.Tag = ID;
}
本人发送ID分别为:6、3、5、2;为什么显示如上图这样,不应该是如下图这样吗:
private void sp_DataReceived(Byte[] ReceivedData)//数据显示
{
var btn = buttons[ID-2];
btn.Visible = true;
btn.Text = RecvDataText;//RecvDataText为接收到的数据如:ID:2 时间:2016-5-2 14:23
btn.Tag = ID;
}
本人发送ID分别为:6、3、5、2;为什么显示如上图这样,不应该是如下图这样吗:
解决方案
10
假如你用同步方式逐个发送,自然收到的顺序与发送一致
假如用异步方式,则顺序无法保证,是随机的
假如用异步方式,则顺序无法保证,是随机的
10
本人说的是接收到的数据的顺序 sp_DataReceived(Byte[] ReceivedData)
上面说的是web service方式,假如是socket长连接,即使用异步,基本也会与发送顺序一致,假如短连接,则其实与webservice道理一样
flowLayoutPanel里的btn自然是按添加顺序排序的,只是你由于收到数据的先后btn.Text不一样,这与btn本身的顺序就没关系了
上面说的是web service方式,假如是socket长连接,即使用异步,基本也会与发送顺序一致,假如短连接,则其实与webservice道理一样
flowLayoutPanel里的btn自然是按添加顺序排序的,只是你由于收到数据的先后btn.Text不一样,这与btn本身的顺序就没关系了
20
只是你由于收到数据的先后btn.Text不一样
=〉
只是由于你收到数据的先后导致btn.Text不一样
=〉
只是由于你收到数据的先后导致btn.Text不一样