alexandrheathen

Untitled

Sep 28th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.50 KB | None | 0 0
  1. using System;
  2. using System.Windows.Forms;
  3.  
  4. namespace Equalation
  5. {
  6.     public partial class Form1 : Form
  7.     {
  8.         public Form1()
  9.         {
  10.             InitializeComponent();
  11.         }
  12.  
  13.         private delegate double[] Funck(double a, double b, double step);
  14.  
  15.         private Funck handler;
  16.  
  17.         private IAsyncResult thred;
  18.  
  19.         private void Form1_Load(object sender, EventArgs e)
  20.         {
  21.  
  22.         }
  23.  
  24.         double[] FuncEq(double a, double b, double step)
  25.         {
  26.             int len = (int)((b - a) / step);
  27.             var res = new double[len];
  28.             for(var i = 0; i < res.Length; i++)
  29.             {
  30.                 var x = a + step * i;
  31.                 res[i] = 4 * x;
  32.                 System.Threading.Thread.Sleep(100);
  33.             }
  34.             return res;
  35.         }
  36.  
  37.         private void start_Click(object sender, EventArgs e)
  38.         {
  39.             handler = new Funck(FuncEq);
  40.             thred = handler.BeginInvoke(0, 10, 0.1, null, null);
  41.             start.Enabled = false;
  42.             timer.Start();
  43.         }
  44.  
  45.         private void timer_Tick(object sender, EventArgs e)
  46.         {
  47.             if (thred.IsCompleted)
  48.             {
  49.                 var res = handler.EndInvoke(thred);
  50.  
  51.                 for(var i = 0; i < res.Length; i++)
  52.                 {
  53.                     resultLabel.Text += res[i].ToString() + "\n";
  54.                 }
  55.                 timer.Stop();
  56.                 start.Enabled = true;
  57.             }
  58.         }
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment