Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 17.04.2010
Сообщений: 13

Передача текста из потока в Textbox.

20.04.2010, 18:56. Показов 3747. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Net.Sockets;
using System.IO;
 
namespace tcpserver
{
    
    public partial class Form1 : Form
    {
 
        public Form1()
        {
            InitializeComponent();
        }
 
 
      
 
        public class Server // класс сервера.
        {
            public RichTextBox richTextBox3;
            private int LocalPort;
            private Thread ServThread; // экземпляр потока
            TcpListener Listener; // листенер
            public Socket ClientSock;
 
 
            public delegate void UpdateTextCallback(string text);
 
            private void UpdateText(string text)
            {
                // Set the textbox text.
                //lock (richTextBox3);
                richTextBox3.Text = text;
            }
           
 
            public void Create(int port)
            {
                LocalPort = port;
                ServThread = new Thread(()=>ServStart(ClientSock));
                ServThread.Start(); // запустили поток. Стартовая функция – 
                // ServStart, как видно выше
               
            }
 
            public void Close() // Закрыть сервер
            {
                Listener.Stop();
                ServThread.Abort();
                return;
            }
 
 
 
            public void ServStart(Socket ClientSock)
            {
                byte[] cldata = new byte[1024]; // буфер данных
                Listener = new TcpListener(LocalPort);
                Listener.Start(); // начали слушать
                int i = 0;
 
                try
                {
                     ClientSock = Listener.AcceptSocket(); // пробуем принять 
                    // клиента
                }
                catch
                {
                    ServThread.Abort(); // нет – жаль(
                    return;
                }
                
                    while (ClientSock.Connected)
                    {
                        try
                        {
                            i= ClientSock.Receive(cldata); // попытка чтения 
                            // данных
                            
                        }
                        catch
                        {
                   
                        }
 
                       // lock (richTextBox3)
                        {
                            richTextBox3.BeginInvoke(new UpdateTextCallback(this.UpdateText),
                            new object[] { "<<" + Encoding.ASCII.GetString(cldata).Trim() });  //Тут ошибка
                           
                        }
                }
            }
        }
 
        private void сетиToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form2 _myForm = new Form2();
            _myForm.ShowDialog();
        }
 
        public void button1_Click(object sender, EventArgs e)
        {
            
            int port;
            
            try
            {
                StreamReader pt = new StreamReader("c://pts.txt"); //считываем из файла введенный IP и порт
                port = Convert.ToInt32(pt.ReadLine());
            }
            catch
            {
                System.Windows.Forms.MessageBox.Show("Ошибка чтения из файла");
                return;
            }
            
            Server serv = new Server();
 
            try
            {
                serv.Create(port);
            }
            catch
            {
                System.Windows.Forms.MessageBox.Show("Ошибка создания сервера");
                return;
            }
           System.Windows.Forms.MessageBox.Show("Сервер успешно создан." + " " + "Порт:" + port);
        }
 
        private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
 
        }
 
 
    }
}


При получении сообщения из клиента, выскакивает ошибка что "В экземпляре объекта не задана ссылка на объект." Речь я так понимаю про richTextBox3.(Ссылка на нее Null)

http://blogs.msdn.com/csharpfa... 91685.aspx делаю по этой инструкции.

Добавлено через 7 часов 14 минут
http://ifolder.ru/17381398
Вот ссылка на проект. Там Папки tcpklient и tcpserver. В клиенте в настройках сети указать IP и Порт, на сервере порт. С клиента отправить сообщение на сервере.

50 ЯД тому кто поможет!

Добавлено через 31 минуту
C#
1
2
3
4
public Server(RichTextBox m_richTextBox)
{
richTextBox3 = m_richTextBox;
}
Ответ на мой вопрос)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.04.2010, 18:56
Ответы с готовыми решениями:

Передача данных в textbox из другого потока
Здравствуйте. Решил я уйти от приложений в консоли и перейти на WF, и уже жалею. Вообщем проблема такова, на форме есть textbox1 мне...

Передача потока данных из listview в textbox и обратно
Доброго дня всем.) Есть форма1 с listview. ListView считывает текстовый файл с данными.(Пример одной записи:...

Передача текста в textbox
Как передать текст из файла открываемого через openFileDialog ( .txt ) в textbox при создании Windows Forms приложения?

4
 Аватар для Redddy
0 / 0 / 0
Регистрация: 03.03.2011
Сообщений: 6
20.03.2011, 12:08
Взял твой код поиграться, ток не понял, куда это вставлять то

C#
1
2
3
4
public Server(RichTextBox m_richTextBox)
{
richTextBox3 = m_richTextBox;
}
проблема та-же, не могу выводить в текстбокс из класса Server,
помогите врубиться люди добрыя!
0
 Аватар для SandWraith
189 / 189 / 38
Регистрация: 11.04.2009
Сообщений: 497
20.03.2011, 14:54
Это конструктор класса Server. В определение этого класса и вставлять. Проблема была в том, что RichTextBox, объявленный как поле класса Server - это не тот RichTextBox, который объявлен (и создан автоматически) на форме.
1
 Аватар для Redddy
0 / 0 / 0
Регистрация: 03.03.2011
Сообщений: 6
20.03.2011, 22:56
Значит правильно, как конструктор в класс Server и вставляю.

После этого говорит:
"tcpserver.Form1.Server" не содержит конструктор, который принимает аргументы "0"
на
C#
1
Server serv = new Server();
вот это-то и не могу понять
0
 Аватар для tasty_sock
139 / 137 / 21
Регистрация: 26.01.2010
Сообщений: 350
21.03.2011, 00:21
Цитата Сообщение от Redddy Посмотреть сообщение
Server serv = new Server();
При объявлении нужно указать экземпляр класса RichTextBox. Например
C#
1
Server serv = new Server(this.richTextBox2);
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.03.2011, 00:21
Помогаю со студенческими работами здесь

Передача текста из textbox в другой класс
Собственно можно ли вообще такое осуществить и как? Если есть на форме текстбокс, куда я ввожу текст, по нажатию кнопки выполняется метод...

Передача текста из TextBox в переменную второй формы
Здраствуйте! Нужна Ваша помощь: В первой форме есть TextBox, в который записывается путь к папке, после нажатия кнопки...

Сравнение текста введенного в Textbox по name. При этом Textbox создан динамически
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using...

Сравнение значений динамически заданных textBox, и отображение текста в многострочном Textbox
Часть первая. Дано: динамически создаваемые TextBox'ы TextBox tb = new TextBox; for (int i=0 ; i &lt; answer_count; i++) ...

Как узнать, что длина текста в TextBox-е превышает ширину самого TextBox-а
У меня есть TextBox. Нужно узнать, выходит ли текст за границы TextBox-a, если да, то выполняется определенное действие. Что нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru