flowLayoutPanel的一个小问题

目的为学习 2016-07-27 02:12:36
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;为什么显示如上图这样,不应该是如下图这样吗:
...全文
213 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
目的为学习 2016-07-27
  • 打赏
  • 举报
回复
引用 5 楼 dongxinxi 的回复:
只是你由于收到数据的先后btn.Text不一样 =〉 只是由于你收到数据的先后导致btn.Text不一样
受教了,那有什么办法吗?我的是vs2010,winform,数据是随机发是我,我想让它安按钮添加顺序排列
  • 打赏
  • 举报
回复
只是你由于收到数据的先后btn.Text不一样 =〉 只是由于你收到数据的先后导致btn.Text不一样
  • 打赏
  • 举报
回复
我说的是接收到的数据的顺序 sp_DataReceived(Byte[] ReceivedData) 上面说的是web service方式,如果是socket长连接,即使用异步,基本也会与发送顺序一致,如果短连接,则其实与webservice道理一样 flowLayoutPanel里的btn自然是按添加顺序排序的,只是你由于收到数据的先后btn.Text不一样,这与btn本身的顺序就没关系了
目的为学习 2016-07-27
  • 打赏
  • 举报
回复
引用 1 楼 dongxinxi 的回复:
如果你用同步方式逐个发送,自然收到的顺序与发送一致 如果用异步方式,则顺序无法保证,是随机的
你可以试一下添加个flowLayoutPanel,几个button(一开始button.Visible=false);不管你先显示那个button,最后显示顺序都是你添加的顺序;
目的为学习 2016-07-27
  • 打赏
  • 举报
回复
引用 1 楼 dongxinxi 的回复:
如果你用同步方式逐个发送,自然收到的顺序与发送一致 如果用异步方式,则顺序无法保证,是随机的
那flowLayoutPanel的自动排列是干嘛的?怎么用?
  • 打赏
  • 举报
回复
如果你用同步方式逐个发送,自然收到的顺序与发送一致 如果用异步方式,则顺序无法保证,是随机的

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧