Avatar billede Godfather75 Nybegynder
21. februar 2014 - 18:11 Der er 3 kommentarer

Event handler mellem to forms?

Er der nogen der ved hvordan man lave en event handler. Så der i form1 triggers en metode fra form2 når den lukkes? her er mit forsøge på problemet:

  public partial class Form1 : Form
    { 
  public Form1()
        {
            InitializeComponent();
        }
   
    private void btnNew_Click(object sender, EventArgs e)
        {
            int TabPosition = 0;
            TabPosition = tabControlPassword.SelectedIndex;
       
            frmForm2 = new Form2(TabPosition);
            frmForm2.MyEvent += new EventHandler(MyHandler);
            frmForm2.Show();
        }
// Metoden som skal triggeres
        public void MyHandler()
        {
          UpdateList();
        }

// form nr 2

      delegate void EventHandler();

      public partial class Form2 : Form
    {
     
        private int TabPos; 
     
        public Form2(int TabPosition)
        {
            InitializeComponent();
            TabPos = TabPosition;
           

        }
//Her får jeg en fejl :Inconsistent accessibility?
      public event EventHandler SomeEvent;
     
      public void OnSomeEvent() {
        if(SomeEvent != null)
        SomeEvent();
      }

      private void btnOk_Click(object sender, EventArgs e)
        {
          OnSomeEvent();
          this.Close();
        }
Hvad gøre jeg forkert?
Avatar billede MadsHaupt Juniormester
21. februar 2014 - 19:37 #1
Jeg tror du har glemt at definere typen for variablen "frmForm2".
Avatar billede HKW Nybegynder
21. februar 2014 - 19:39 #2
delegate void EventHandler(); // er privat, skal være offentlig
public event EventHandler SomeEvent; // er offentlig

Når SomeEvent er offentlig, så skal dem uden for klassen have kendskab til definitionen af din delegate.
Avatar billede Godfather75 Nybegynder
22. februar 2014 - 13:05 #3
Mange tak HKW!, Det virker bare nu:-)send som svar, så du kan få dine points
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester