Avatar billede lla1803 Nybegynder
21. november 2002 - 14:32 Der er 7 kommentarer og
1 løsning

Opdatering af statusbar fra childform i VB.Net

Det jeg har gjort er at jeg har trukket en statusbar component ind på en mdimainform. På denne statusbar har jeg så oprettet et panel og gjort teksten tilgængelig ved hjælp af dynamic properties text.
Efterfølgende har jeg så tilføjet en mdichildform og oprettet en knap på denne form. I denne knap's click funktion vil jeg så opdatere teksten i statusbaren.
Som jeg ser det skal jeg på en eller anden måde henvise til mdimainform classen, men hvordan jeg henviser til denne classe kan jeg ikke finde ud af.
Avatar billede kichian Nybegynder
22. november 2002 - 20:49 #1
Se http://www.eksperten.dk/spm/264103

Problemstillingen er egentlig den samme
Avatar billede lla1803 Nybegynder
24. november 2002 - 15:32 #2
Jeg har prøvet at kigge på eksemplet og jeg syntes ikke lige at jeg fik svar på mit spørgsmål.
Avatar billede kichian Nybegynder
24. november 2002 - 16:38 #3
I din main-form har du:

mdichildform mitChild = new mdichildform();
mitChild.MdiParent = this;

Nu kan du i din mdichildform, kalde statusbaren med

this.MdiParent.statusbar.(valgfri metode);
Avatar billede kichian Nybegynder
24. november 2002 - 17:13 #4
Og i VB skifter du this ud med Me
Avatar billede lla1803 Nybegynder
24. november 2002 - 18:22 #5
Jeg kan simpelthen ikke få det til at virke. Nu har jeg vedlagt den kode jeg har prøvet at lave. Min mainform kender ikke mdichildform. Er der nogen speciel reference der skal være oprettet eller skal childformen have indstillet nogle bestemte properties eller for den sags skyld oprettes på en bestem måde.


'Kode i min MainForm Load
  Me.StatusBarPanelText.Text = "Test af statusbar"

  mdichildform mitChild = New mdichildform()
  mitChild.MdiParent = Me

'Kode i min childform
    Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
                    Handles Button1.Click, Button2.Click, Button3.Click

        Dim ButtonIndex As Button
        ButtonIndex = CType(sender, Button)

        Try

            Select Case ButtonIndex.Text
                Case Is = "Button1"
                    Me.MdiParent.StatusBarPanelText.Text = ButtonIndex.Text

                Case Is = "Button2"
                    Me.MdiParent.StatusBarPanelText.Text = ButtonIndex.Text

                Case Is = "Button3"
                    Me.MdiParent.StatusBarPanelText.Text = ButtonIndex.Text

            End Select

        Catch
            MessageBox.Show(Err.Description)

        End Try

    End Sub
Avatar billede kichian Nybegynder
24. november 2002 - 23:56 #6
Den StatusBarPanelText du har på din MainForm, er den private? Hvis den er så ret den til Public.
Avatar billede lla1803 Nybegynder
25. november 2002 - 07:55 #7
Den var oprettet som friend, men nu har jeg prøvet at ændre den til public uden held.

Når jeg i min mainform skriver nedenstående kode får jeg en syntaksfejl. Er mdichildform en metode i vb.net eller skal den dim' på en eller anden måde.

  mdichildform mitChild = New mdichildform()
  mitChild.MdiParent = Me
Avatar billede kichian Nybegynder
25. november 2002 - 09:56 #8
Dit panel skal være public. Derudover skal du ændre :
Me.MdiParent.StatusBarPanelText.Text = ButtonIndex.Text

til

CType(Me.MdiParent,NavnPåMainForm).StatusBarPanelText.Text = ButtonIndex.Text
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
Kategori
Kurser inden for grundlæggende programmering

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