Har en deklaration av ett event i en modul. Nu vill jag raisa ett event från en Form. Men varför kommer jag inte åt mitt event i modulen? Du kan titta på mitt exempel: Programarkivet:VB.NET Exempel för events Om jag förstår dig rätt så har du ett formulär med (minst) en knapp och sedan har du en 'Module' där det finns ett event som du skulle vilja trigga? Minna lyssnare hittas i några forms är igång i mitt projekt. Jag vill både trigga eventet från en modul och från en form. Från modulen går det galant men från en form går det inte. Har samma namn på eventen. Jo ... vet inte riktigt hur jag skall få till det. Skall studera lite till. Du får ge oss lite kod om vi skall kunna hjälpa dig, städa bort all kod som inte har med eventen att göra och visa modul och formulär.raiseevent från en form
<code>
Public Event halloj(status as boolean)
</code>Sv: raiseevent från en form
Module
<code>
'Flagga för att uppdatering skall ske
Public Event event_Update(ByVal id As String)
</code>
Form fråga
<code>
'Flagga för att uppdatering skall ske
Public Event event_Update(ByVal id As String)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
RaiseEvent event_Update(id)
end sub
</code>
Verkar som event deklarationen i From fråga inte får vara med... men varför?Sv:raiseevent från en form
Se om det hjälper dig.Sv: raiseevent från en form
Ett event kan bara triggas av klassen (Module är en statisk klass) själv, Där av att du inte kan komma åt och trigga eventet från Formuläret som är en annan klass. Lösningen är att du i Modulen skriver en Public funktion som triggar eventet.
(i Module)
<code>
Public Event halloj(status as boolean)
Public Sub TriggerHalloj(status as boolean)
RaiseEvent halloj(status)
End Sub
</code>
Och sedan anropar du den funktionen från formuläret.Sv:raiseevent från en form
Sv:raiseevent från en form
Sv: raiseevent från en form
Sv:raiseevent från en form
Har bara VS2008 på en maskin hemma. Har nu studerat och visst hänger jag nu med. Sv:raiseevent från en form
bantad kod återfinns som post nr 2 i denna tråd. Men jag förstår nu att det inte går.
Tycker det är lite märkligt då jag startar upp en klass i flera olika trådar med samma deklaration "public event event_Update(...." och det fungerar. Men när man har en modul och en form som har samma deklaration då går det inte.....