Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Microsoft Visual Basic 2005 Express Edition

hallo,
hab an problem und zwar:
wenn ich z.B. zweit Formen (fenster) in Microsoft Visual Basic 2005 Express Edition erstelle und auf form1 ein button mit der funktion(code: Form2.showdialog) öffnet er form2. schön und gut aber wie bekomm ich es hin das er dan form1 schließt?
wenn ich in form2 load ,,form1.close ``eingib schließt sich alles...

was soll ich machen, welchen code verwenden?


Antworten zu Microsoft Visual Basic 2005 Express Edition:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ist Form1 dein "Hauptprogramm"? Dann bewirkt ein Form1.close ja, dass das ganze Programm terminiert. Inclusive aller anderen Forms.
Was willst du überhaupt bewirken? Soll Form1 komplett weg sein oder nur nicht mehr sichtbar?
1. Komplett weg: Dann brauchst du ein "Hauptprogramm", was im Hintergrund läuft und sowohl Form1 als auch alle anderen Forms verwaltet. Die entsprechenden Befehle musst du dann aus den jeweiligen Forms an dieses Programm weiterleiten und dort dann das alte Form closen und das neue aufrufen.
2. Nicht sichtbar: ersetze Form1.close durch Form1.hide. Durch Form1.show wirds dann wieder sichtbar.   

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

OK danke werds ausprobiren.

Ich wollt des halt so wie bei einer setup exe.
Das wnn ich aif weiter klick das sich form1 schließt und form2 sich öffnet...
einfach weiter

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Das wäre denn eher die erste Variante. Du willst ja wahrscheinlich die Daten/Einstellungen aus den Forms behalten, da bietet sich ein Hauptprogramm an, was die Forms aufruft/verwaltet und die Daten sammelt.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

OK danke.
kann das jemand genauer beschreiben?

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Also: Du machst dir einfach noch ein extra Module, was du als Startpunkt festlegst. Darin rufst du jedes Form einzeln mit Application.Run auf. Die Forms an sich schließt du dann ganz normal mit Close()

Imports System
Imports System.Windows.Forms

Module Module1
    Dim value As String
    Sub Main()
        value = ""
        Application.Run(New Form1())
        Application.Run(New Form2(value))
    End Sub

    Sub ReportResult(ByVal s As String)
        value = s
    End Sub

End Module
Form1 hat ein Label (das zur Eingabe des Namens auffordert) und eine Textbox (wo der Name dann eigegeben werden soll). Und nen Button. Der Code sieht bei mir so aus:
Public Class Form1

    Public Sub New()

        ' Dieser Aufruf ist für den Windows Form-Designer erforderlich.
        InitializeComponent()

        ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
    End Sub

    Protected Overrides Sub Finalize()
        MyBase.Finalize()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Module1.ReportResult(TextBox1.Text)
        Me.Close()
    End Sub
End Class
Und Form2 hat einfach nur ein Label, das den Wert enthält, der in Form1 eingegeben wurde. Und nen Button zum Schließen.
Public Class Form2

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Close()
    End Sub

    Public Sub New(ByRef val As String)

        ' Dieser Aufruf ist für den Windows Form-Designer erforderlich.
        InitializeComponent()

        ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
        Label1.Text = "Hallo " + val
    End Sub

    Protected Overrides Sub Finalize()
        MyBase.Finalize()
    End Sub
End Class

« Projekte bei Visual C++ 2008 in Ordner sortierenFragen zu Normalformen, Normalisierung »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Microsoft Office
MS Office ist ein Software-Paket des amerikanischen Unternehmens Microsoft für die Betriebssysteme Windows und Mac OS. Zu dem Paket gehören Programme wie Word, ...

Microsoft
Microsoft - oder "Microsoft Corporation", gegründet 1975 von Bill Gates und Paul Allen, ist einer der weltweit führenden Softwarehersteller. Urspr&uum...

BASIC
BASIC steht für "Beginners All Purpose Symbolic Instruction Code", eine der ersten weit verbreiteten Programmiersprachen. Die einfache Anfänger-Sprache hat dazu...