Ver Mensaje Individual
  #10 (permalink)  
Antiguo 27/02/2012, 08:39
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: Pasar variable de WindowsForm a Control

Lo mejor es crear un método que lance el evento, comprobando antes que el evento tenga algún delegado asociado (se hace viendo si es igual a null):

Código C#:
Ver original
  1. public partial class Formato : UserControl
  2. {
  3. public string jobFileFullPath;
  4.  
  5. public delegate void CambiarDeFormatoEventHandler(object sender, EventArgs e);
  6. public event CambiarDeFormatoEventHandler FormatoCargado;
  7.  
  8. public Formato()
  9. {
  10. InitializeComponent();
  11. }
  12.  
  13. private void buttonAbrirFormato_Click(object sender, EventArgs e)
  14. {
  15.  OnFormatoCargado(e);
  16. }
  17.  
  18. private OnFormatoCargado(EventArgs e){
  19.  
  20. if (FormatoCargado != null){
  21.  FormatoCargado(this, e);
  22. }
  23. }
  24. }
  25.  
  26.  
  27. Aqui declaro el delegado y el evento y hago una llamada a dicho evento. Después he creado un formulario en el mismo proyecto donde si todo va bien, despues de hacer click en el boton del control, se debería lanzar el evento "FormatoCargado" y mostrarse un mensaje en dicho formulario:
  28.  
  29.  
  30. public partial class PruebaControl : Form
  31. {
  32.  
  33. Formato fm = new Formato();
  34.  
  35.  
  36. public PruebaControl()
  37. {
  38. InitializeComponent();
  39. fm.FormatoCargado +=new Formato.CambiarDeFormatoEventHandler(fm_FormatoCargado);
  40. }
  41.  
  42. void fm_FormatoCargado(object sender, EventArgs e)
  43. {
  44. MessageBox.Show("Evento lanzado!!");
  45. }
  46.  
  47. }