SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: Albireo en Domingo 26 de Diciembre de 2004, 00:18

Título: Problemas Con Form
Publicado por: Albireo en Domingo 26 de Diciembre de 2004, 00:18
Buenas.
Estoy realizando una aplicación basada en ventanas de windows y me ha surgido un problema.
Quiero, a partir de la ventana principal (Form1) cargar otra ventana (Form2) con un RichTextBox, y que en ese RichTextBox se cargue un documento u otro en función del botón que se pulse.
He creado un evento Click para cada botón y en cada uno de los eventos click abro la ventana Form2 en la que quiero cargar,en el RichTectBox, el documento correspondiente a ese botón.

A la hora de hacer el "Debug"(mi MVS.NET está en inglés) me sale el siguiente error.

El código y el error :

Código: Text
  1. //Cargo la ventana
  2. Form2 f= new Form2();
  3. f.Show();
  4. //Intento cargar el RichTextBox en la ventana Form2
  5. string DirectorioDeTrabajo = (string)System.IO.Directory.GetCurrentDirectory();
  6. Nombre_de_la_solución.Form2.richTextBox1.LoadFile(DirectorioDeTrabajo + @"\Archivo a cargar.rtf");
  7.  

Error: An object reference is required for the nonstatic field, method, or property Nombre_de_la_solución.Form2.richTextBox1'


Muchas gracias de antemano.
Un saludo.
Título: Re: Problemas Con Form
Publicado por: JuanK en Lunes 27 de Diciembre de 2004, 15:17
Al parecer el richTextBox1 no ha sido agregado a loc omponentes de la forma2, en todo caso el codigo que anexas no ice mucho, es necesario ver mas codigo.
Título: Re: Problemas Con Form
Publicado por: Johan Hernandez en Miércoles 29 de Diciembre de 2004, 13:16
Si necesitas acceder al rich desde fuera de la clase necesitas declararlo con modificadores de acceso apropiados. "public", "internal" o "protected internal" son modificadores validos que puedes utilizar en los miembros de una clase(en este caso un formulario) desde la clase desde la que intentas acceder. Como sigue:

public RichTextBox richTextBox1...
protected internal RichTextBox richTextBox1...
internal RichTextBox richTextBox1...

Otra cosa, debes acceder atravez de una instancia del formulario, en este caso la instancia se llama "f". "f.richTextBox1" es una declaracion valida.

Si necesitas acceder sin una instancia del formulariom debes declarar el rich con el modificador "static" pero hay mas cuestiones que considerar con "static"
Título: Re: Problemas Con Form
Publicado por: Albireo en Miércoles 29 de Diciembre de 2004, 22:02
Muchas gracias por tu respuesta.
Mi problema venía a la hora de acceder a traves de la instancia del formulario, que la definía mal.
Gracias, de nuevo.