#c# #listview #tcp
#c# #listview #tcp
Вопрос:
Итак, что у меня есть до сих пор, это прослушиватель TCP, и как только клиент подключится, он добавит, что их сообщение будет добавлено в представление списка. Это то, что было до сих пор. Как мне ввести их сообщение, отправленное через TCP, в ListView? Это приложение WinForms.
private static void clientHandler(object client)
{
TcpClient cClient = (TcpClient)client;
NetworkStream stream = cClient.GetStream();
byte[] clientName = new Byte[1024];
stream.Read(clientName, 0, clientName.Length);
listView1.Invoke(new Action(() =>
ListViewItem newClient = new ListViewItem();
newClient.SubItems.Add(pet.Name);
newClient.SubItems.Add(pet.Type);
newClient.SubItems.Add(pet.Age);
listView.Items.Add(lvi);
));
MessageBox.Show(Encoding.ASCII.GetString(clientName));
stream.Close();
cClient.Close();
}
Комментарии:
1. Это WPF, Winforms? Ответ отличается между ними. Если WPF, есть ли у вас связанная коллекция, в которую вы могли бы добавить?
2. Это WinForms, извините, что не добавил это в исходное сообщение.
3. Что не работает в вашем коде? это выглядит довольно разумно для WinForms, кроме не объявленной
pet
переменной.5. Похоже, вам просто не хватает многострочных лямбд {}, которые им нужны. Поместите один после =>, а другой перед первым закрытием)