none
Como puedo convertir un codigo de C# a WPF C# RRS feed

  • Pregunta

  • Buenas tardes y un cordial saludo me gustaria agregar un codigo de C# a un proyecto nuevo que tengo de C# WPF creen que me puedan ayudar este es el codigo.

    CheckForIllegalCrossThreadCalls = false;
                System.Threading.Thread operacion = new System.Threading.Thread(() =>
                {
                    Process ArchivosTemporalesTemp = new Process();
                    ArchivosTemporalesTemp.StartInfo.FileName = "cmd";
                    ArchivosTemporalesTemp.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                    //Ejecutamos acción
                    ArchivosTemporalesTemp.StartInfo.Arguments = "/c rd %Temp% /S /Q";
                    ArchivosTemporalesTemp.Start();
                    if (ArchivosTemporalesTemp.HasExited == false)
                    {
                        Barra_de_progreso_uno.Value += Divición * 1;
                        ArchivosTemporalesTemp.CloseMainWindow();
                    }
                });
                operacion.Start();

    en C# WPF, no exite la siguiente linea, alguna idea de poder pasar todo el codigo a C# WPF se los agredeseri mucho

    CheckForIllegalCrossThreadCalls = false;
    jueves, 4 de octubre de 2018 22:45

Respuestas

  • CheckForIllegalCrossThreadCalls = false;

    Es un auténtico disparate. Jamás se debe usar el CheckForIllegalCrossThreadCalls=false. Nunca. En ningún programa. Ni WPF ni de ninguna otra clase. Ocasionará que el programa falle de manera intermitente e impredecible, en unos casos corrompiendo la pantalla y en otros dejándolo "colgado" o causando corrupción de datos. Son errores esporádicos, y como solo ocurren en raras ocasiones se tiende a despreciarlos, reiniciar el programa y restarles importancia porque "no son reproducibles". Y son culpa del CheckForIllegalCrossThreadCalls=false.

    En su lugar, lo que hay que hacer es escribir el código bien escrito y no hacer llamadas ilegales entre hilos, en lugar de hacer llamadas ilegales y decirle que "no las compruebe" (CheckForIllegalCrossThreadCalls=false) y luego despreocuparse cuando el programa "casca" debido a una de esas llamadas.

    • Propuesto como respuesta Jorge TurradoMVP viernes, 5 de octubre de 2018 14:16
    • Marcado como respuesta Jovanny CJ viernes, 5 de octubre de 2018 21:21
    viernes, 5 de octubre de 2018 14:10

Todas las respuestas

  • CheckForIllegalCrossThreadCalls = false;

    Es un auténtico disparate. Jamás se debe usar el CheckForIllegalCrossThreadCalls=false. Nunca. En ningún programa. Ni WPF ni de ninguna otra clase. Ocasionará que el programa falle de manera intermitente e impredecible, en unos casos corrompiendo la pantalla y en otros dejándolo "colgado" o causando corrupción de datos. Son errores esporádicos, y como solo ocurren en raras ocasiones se tiende a despreciarlos, reiniciar el programa y restarles importancia porque "no son reproducibles". Y son culpa del CheckForIllegalCrossThreadCalls=false.

    En su lugar, lo que hay que hacer es escribir el código bien escrito y no hacer llamadas ilegales entre hilos, en lugar de hacer llamadas ilegales y decirle que "no las compruebe" (CheckForIllegalCrossThreadCalls=false) y luego despreocuparse cuando el programa "casca" debido a una de esas llamadas.

    • Propuesto como respuesta Jorge TurradoMVP viernes, 5 de octubre de 2018 14:16
    • Marcado como respuesta Jovanny CJ viernes, 5 de octubre de 2018 21:21
    viernes, 5 de octubre de 2018 14:10
  • Bueno muchas gracias por tu comentario lo tendre en cuenta, pero aqui en el mismo foro me recomendaron hacerlo para evitar que mi programa se traba cuando ejecuto comandos por CMD
    viernes, 5 de octubre de 2018 21:22