gpt4 book ai didi

c#:将新项目添加到组合框

转载 作者:太空宇宙 更新时间:2023-11-03 19:14:21 25 4
gpt4 key购买 nike

我想将带有 IP 地址的客户端列表添加到 winforms 中的组合框中,但该列表未出现在组合框中。

这是我的服务器代码

// this my list of sockets for each client connected to server
list<Socket> astr = new list<socket>();
public Form1()
{
InitializeComponent();
addfg();
comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged;
}

public void addfg()
{
foreach (Socket s in astr)
{
string str = string.Format("client : " + s.RemoteEndPoint);
comboBox1.Items.Add(new object[] {str})
}
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
MessageBox.Show(comboBox1.Items[0]);
}

但我收到错误“ArgumentException 未处理”或详细信息“设置 DataSource 属性时无法修改项目集合”。

最佳答案

像这样尝试:

foreach (Socket s in astr) 
{
string str = string.Format("client : " + s.RemoteEndPoint);
comboBox1.Items.Add(str);
}

在您的版本中,您似乎在尝试添加一个数组,但 Items.Add() 方法只添加了一个项目。要添加多个项目,您可以使用 AddRange(),但您的代码看起来并非如此。

小心这段代码:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
MessageBox.Show(comboBox1.Items[0]);
}

您应该检查是否选择了某些内容:

if (comboBox1.Items.SelectedIndex > -1) {
MessageBox.Show(comboBox1.Items[0]);
}

关于c#:将新项目添加到组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18208715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com