예제 #1
0
        void ShowReceiveMessage(string message)
        {
            if (listBoxChat.InvokeRequired == true)
            {
                UpdateReceiveDisplayDelegate rdd = new UpdateReceiveDisplayDelegate(ShowReceiveMessage);

                // Данный метод вызывается в дочернем потоке,  ищет основной поток и
                //выполняет делегат указанный в качестве параметра в главном потоке, безопасно обновляя интерфейс формы.
                Invoke(rdd, new object[] { message });
            }
            else
            {
                // Если не требуется вызывать метод Invoke, обратимся напрямую к элементу формы.
                listBoxChat.Items.Add(message);
            }
        }
예제 #2
0
        public void _tcpmoduleClient_ShowStatusMessage(string message)
        {
            if (listBoxStatus.InvokeRequired)
            {
                UpdateReceiveDisplayDelegate rdd = _tcpmoduleClient_ShowStatusMessage;

                // Данный метод вызывается в дочернем потоке,
                // ищет основной поток и выполняет делегат указанный в качестве параметра
                // в главном потоке, безопасно обновляя интерфейс формы.
                Invoke(rdd, message);
            }
            else
            {
                // Если не требуется вызывать метод Invoke, обратимся напрямую к элементу формы.
                listBoxStatus.Items.Add((listBoxStatus.Items.Count + 1) + ". " + message);
            }
        }