Avatar billede hanstik Nybegynder
26. november 2003 - 09:56 Der er 4 kommentarer og
1 løsning

Luk en form fra en anden form

I en VB.NET applikation har jeg to forms: A og B.

Jeg ønsker at åbne form B fra form A. Efter form B er blevet åbnet ønsker jeg at lukke form A, da jeg derefter ikke har mere at bruge den til.

Jeg gør følgende for at åbne form B fra form A:

Dim frmB As New FormB
frmB.ShowInTaskbar = True
frmB.ShowDialog()
frmB.Dispose()

Men når form B er åbnet bliver form A stadig liggende inde bagved... så hvordan løser jeg dette problem?

Man kan indsætte en Me.hide() der får form A til at forsvinde inden form B åbnes, men kan man ikke Close eller Dispose form A på en anden måde? Ved at Hide'e form A ligger den vel på en måde stadig og kører inde bagved...!?

På forhånd tak.
Avatar billede kinggenesis Nybegynder
26. november 2003 - 11:51 #1
Du skal bruge "Show" og ikke "ShowDialog".
Form A må bare ikke være din start form!

Dim frmB As New FormB
frmB.ShowInTaskbar = True
frmB.Show()
Me.Dispose()
Avatar billede hanstik Nybegynder
26. november 2003 - 14:52 #2
Hej 'kinggenesis'

Form A er netop min startform... Kan det så ikke lade sig gøre?

Men jeg vil lige afprøve dit eksempel så snart jeg har mulighed for det.

Tak.
Avatar billede kinggenesis Nybegynder
26. november 2003 - 15:18 #3
Så skal du gøre noget andet.

Lad os sige at FormA er din login form og
FormB er din Hoved form.

Du skal starte dit program med "Sub Main"


Public USER_ID As Integer = 0

Sub Main()
        ' Login (her sættes USER_ID hvis det logges rigtigt ind)
        Dim Login As New Login()
        Login.ShowDialog()
        Login.Dispose()

        ' Main
        If Not USER_ID = 0 Then
            Dim AppMain As New AppMain()
            Application.Run(AppMain)
        End If
    End Sub
Avatar billede kinggenesis Nybegynder
26. november 2003 - 15:21 #4
Lege med de rigtige formnavne så:

Sub Main()
        ' Login (her sættes USER_ID hvis det logges rigtigt ind)
        Dim FormA As New FormA()
        FormA.ShowDialog()
        FormA.Dispose()

        ' Main
        If Not USER_ID = 0 Then
            Dim FormB As New FormB()
            Application.Run(FormB)
        End If
    End
Avatar billede hanstik Nybegynder
28. november 2003 - 08:01 #5
Takker, det kan jeg bruge!
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