C sharp - Ayuda con llenar un textbox desde una clase

   
Vista:

Ayuda con llenar un textbox desde una clase

Publicado por Eiker David eikerdjforever@hotmail.com (2 intervenciones) el 08/07/2015 00:47:08
Buenas amigo tengo una gran duda y tengo ya bastante tiempo intentando de todo que he conseguido y nada, les explico

yo tengo un formulario simple con un boton y un textbox y tambien tengo una clase donde yo hago esto

esta es la clase:
---------------------------------------------Clase--------------------------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace WindowsFormsApplication1
{
    public class Class1
    {
        public void txt()
        {
            Form1 frm = new Form1();
            frm.textBox1.Text = "dsdsdsd";
        }
    }
}
------------------------------------------Clase fin-------------------------------------------

aqui yo instancio mi formulario principal en el metodo txt().... instancio y le doy un valor deseado al textbox en la cual no se cumple

coloco el form donde llamo ese metodo de la clase

-------------------------------------llamo el metodo txt()---------------------------------
1
2
3
4
5
6
private void button1_Click(object sender, EventArgs e)
        {
            Class1 cls = new Class1();
            cls.txt();
 
        }
-------------------------------------fin de la llamada--------------------------------------

entonces que es lo que yo quiero, que al pulasr el button1 me coloque en el textbox lo que teng oen el metodo de la clase y no lo hace, ahora no se que estoy haciendo mal porque es casi igual que en vb.net pero no me funciona....

agracidos por su atencion, espero sus comentarios..

adjunto 2 ejemplos..... 1) esta hecho en vb.net que me lo hace excelente y el 2) es en c#
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con llenar un textbox desde una clase

Publicado por David (59 intervenciones) el 08/07/2015 01:06:58
El problema es que estás instanciando un form nuevo cada vez que llamas al método txt(), pero no lo estás mostrando.
Si lo que quieres es mostrar el form nuevo, pon:

1
2
frm.Show();  o
frm.ShowModal();

debajo de

1
frm.textBox1.Text = "dsdsdsd";

Si lo que quieres es mostrar el texto en el textbox del form actual, una opción es cambiar tu método txt() por este:

1
2
3
4
public static string txt()
{
return "dsdsdsd";
}

Y tu handler del click por:

1
2
3
4
5
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = Class1.txt();
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda con llenar un textbox desde una clase

Publicado por Eiker David (2 intervenciones) el 08/07/2015 01:42:14
estas en lo cierto pero es que puse un ejemplo sencillo voy con el real

mismo caso pero asi
tengo mi clase donde voy a escribir en un listbox

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public void unzip(String origen, String extension)
        {
           // MessageBox.Show(origen + @"\TEMPC\");
            try
            {
                DirectoryInfo directory = new DirectoryInfo(origen);
                FileInfo[] files = directory.GetFiles(extension);
 
                for (int i = 0; i < files.Length; i++)
                {
                    if (Directory.Exists(origen + @"\TEMPC\"))
                    {
                        Directory.Delete(origen + @"\TEMPC\");
                        DirectoryInfo di = Directory.CreateDirectory(origen + @"\TEMPC\");
                    }
                    else
                    {
                        DirectoryInfo di = Directory.CreateDirectory(origen + @"\TEMPC\");
                    }
                    ZipFile.ExtractToDirectory(((FileInfo)files[i]).FullName, origen + @"\TEMPC\");
 
 
                     frm.listbox.Items.Add(((FileInfo)files[i]).Name);
                    MessageBox.Show(((FileInfo)files[i]).Name);
 
 
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }

esefor me va a ir extayendo archivos y cada archivo extratido quiero escribirlo en un listbox, tomando en cuenta que este metodo se encuentra en una clase y el listbox es del form principal
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con llenar un textbox desde una clase

Publicado por David (59 intervenciones) el 09/07/2015 03:11:01
El código funcionará, pero no mostrará los elementos en el ListBox hasta que termine el proceso.
Necesitarías usar un hilo y un delegate para hacer que se muestre en cuanto se extrae o capturar un evento de notificación de extracción de zipfile (si tiene)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar