Morpheus_God
@Morpheus_God

Каким способом вывести информацию из класса во время выполнения метода в TextBox формы?

Добрый день, помогите с выводом процесса работы метода в TextBox формы. Как это должно быть правильно сделано?
Вот такой код у меня есть
using System.Net;
using System.Net.Sockets;

namespace PortChecker
{
    public class CheckerEngine
    {
        private Socket socket;
        private IPAddress address = IPAddress.Parse("127.0.0.1");

        public string State { get; set; }

        public CheckerEngine()
        {
            socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        }

        public void StartCheck()
        {
            for (int i = 75; i < 81; i++)
            {
                State = $"Checking port {i}";

                try
                {
                    IPEndPoint endPoint = new IPEndPoint(address, i);
                    socket.Connect(endPoint);
                    State = $"Port {i} is listening";
                }
                catch (SocketException ignored)
                {
                    if (ignored.ErrorCode != 10061)
                    {
                        State = ignored.Message;
                    }
                }
            }
        }
    }
}

Каким образом можно значение переменной State отобразить в событии формы TextChanged? Я подозреваю, что нужны делегаты но никак не могу понять как правильно ими пользоваться, те примеры что есть в книгах я понял как там они работают. Но на практике не могу применить....
  • Вопрос задан
  • 225 просмотров
Решения вопроса 1
sejak1983
@sejak1983
Программист-фрилансер
Точно не могу сказать, но подозреваю что надо смотреть в сторону событий. Зажигается событие в методе startcheck , а в обработчике изменяется textbox
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы