public void AsyncExec(object state) { string[] args = ((string)state).Split(';'); int tNum = Thread.CurrentThread.GetHashCode(); Console.WriteLine("AsyncExec {0} - Thread {1}", args[1], tNum); Copiar cp = new Copiar(); CopiarArquivoDelegate cd = new CopiarArquivoDelegate(cp.CopiarArquivo); AsyncCallback cb = new AsyncCallback(cp.CopiarCallback); Formulário form = new Formulário(); form.Text = args[1]; IAsyncResult iar = cd.BeginInvoke(args[1], args[0], form, cb, cd); form.ShowDialog(); if (form.IsCanceled && VerificarSeArquivoExiste(form.Text)) { iar.AsyncWaitHandle.WaitOne(); File.Delete(form.Text); } }
public static void Main() { Formulário form = new Formulário(); form.WindowState = FormWindowState.Maximized; form.Text = "Cores"; Application.Run(form); }
private void CopiarArquivo(string destino, string origem, Formulário f) { int tNum = Thread.CurrentThread.GetHashCode(); Console.WriteLine("CopiarArquivo {0} - Thread {1}", destino, tNum); if (f.IsCanceled) { return; } FileStream fsOrigem, fsDestino; using (fsOrigem = new FileStream(origem, FileMode.Open, FileAccess.Read)) { using (fsDestino = new FileStream(destino, FileMode.Create)) { try { int maxsize = (int)fsOrigem.Length; int bufsize = (int)(maxsize * 0.1); f.progresso.Step = 1; f.progresso.Maximum = 11; byte[] buffer = new byte[bufsize]; for (int offset = 0; offset < maxsize; offset += bufsize) { f.progresso.Value++; if (f.IsCanceled) { break; } fsOrigem.Read(buffer, 0, bufsize); if (f.IsCanceled) { break; } fsDestino.Write(buffer, 0, bufsize); } } catch (Exception e) { Console.WriteLine("Mensagem de Erro : {0}", e); } } } f.Close(); }
public static void Main() { Formulário form = new Formulário(); Application.Run(form); }
public void Initialize() { form = new Formulário(); form.Text = "FormSubscriber"; form.ShowDialog(); }