31. oktober 2003 - 15:14Der er
1 kommentar og 1 løsning
Reference to Non-Shared
Hejsa, Jeg er ved at udvikle en Visual Basic .Net applikation, men støder ind i et problem, når jeg forssøger at opdatere controls på min form fra en class. Classen kalder en sub i form-classen, der opdaterer controllerne. Problemet er at for at classen skal have adgang til sub'en skal sub defineres som Shared, men så kan jeg ikke opdatere controllerne fra sub'en. Jeg får fejlen "Cannot refer to an instance member of a class...". Hvis jeg derimod ikke sætter sub'en til at være shared, men definere den som public, får jeg fejlen "Reference to non-shared member requires an object reference".
Er der nogen der ved hvordan jeg får det til at virke?
Public Sub Main() mainForm = New frmMain myForms.frmMain = mainForm Application.Run(mainForm) End Sub
Public Class myForms Private Shared m_MainForm As frmMain Public Shared Property frmMain() As frmMain Get Return m_MainForm End Get Set(ByVal Value As frmMain) m_MainForm = Value End Set End Property End Class
End Module
----------- - og tilføjer alle de forms du vil kunne referere controls på i strukturen ovenfor
Og sætter projektets startup object til sub main (Project / Properties / Startup object)
- så kan du referere til (alle) dine controls på de "registrerede" forms vha. klassen myforms - f.eks: dim højde as integer = myForms.frmMain.PictureBox1.Image.Height fra hvorsomhelst i koden.
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.