示例#1
0
        /// Создаем метод для завершения асинхронного вызова с использованием callback
        /// <param name="ar"></param>
        private void CallbackMethod(IAsyncResult ar)
        {
            // Приводим  к типу AsynchronousMethodDelegate
            AsynchronousMethodDelegate asyncDeleg = (AsynchronousMethodDelegate)ar.AsyncState;

            // Получаем  результаты асинхронного метода.

            //lblCallback.Text = asyncDeleg.EndInvoke(ar);
            TolblCallback(asyncDeleg.EndInvoke(ar));
        }
示例#2
0
        private void btnCallback_Click(object sender, EventArgs e)
        {
            AsynchronousMethodDelegate asyncDeleg = new
                                                    AsynchronousMethodDelegate(AsynchronousMethod);
            // Создаем экземпляр callback  делегата Callback.
            AsyncCallback callback = new AsyncCallback(CallbackMethod);

            // Запускаем асинхронно метод AsynchronousMethod.
            asyncDeleg.BeginInvoke(ActivateType.Callback, callback, asyncDeleg);
        }
示例#3
0
        /////////////////////////// Задание 2 ///////////////////////////


        private void btnEnd_Click(object sender, EventArgs e)
        {
            AsynchronousMethodDelegate asyncDeleg = new
                                                    AsynchronousMethodDelegate(AsynchronousMethod);
            // Запускаем асинхронно метод AsynchronousMethod.
            IAsyncResult ar = asyncDeleg.BeginInvoke(ActivateType.End, null, null);

            // Получаем  результаты асинхронного метода.
            lblEnd.Text = asyncDeleg.EndInvoke(ar);
        }
示例#4
0
        private void btnIsComplete_Click(object sender, EventArgs e)
        {
            AsynchronousMethodDelegate asyncDeleg = new
                                                    AsynchronousMethodDelegate(AsynchronousMethod);
            // Запускаем асинхронно метод AsynchronousMethod.
            IAsyncResult ar = asyncDeleg.BeginInvoke(ActivateType.IsColplete, null, null);

            while (!ar.IsCompleted)
            {
                lblIsComplete.Text = "Ожидание";
            }
            // Получаем  результаты асинхронного метода.
            lblIsComplete.Text = asyncDeleg.EndInvoke(ar);
        }