vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Daten von Form zu Form übergeben 
Autor: Christian25
Datum: 16.06.07 17:12

Probier es mal so aus:

Erstell dir ein neues Projekt, und benenne dort die Form1 in frmMain um. Dann setz die Eigenschaft IsMdiContainer auf True.
Platziere ein MenuStrip1 auf deiner Form und leg dort den Menüpunkt Datei mit dem Untermenüpunkt Daten ... an.
Dann füge folgenden Code in diese frmMain ein.
Private Sub DatenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e _
  As System.EventArgs) Handles DatenToolStripMenuItem.Click
        'frmDaten aufrufen und den MDIParent auf frmMain setzen
        Dim frmDaten As frmDaten
        If frmDaten Is Nothing Then frmDaten = New frmDaten
        frmDaten.MdiParent = Me
        frmDaten.Show()
    End Sub
Erstelle dann eine Form mit dem Namen frmDaten, platziere eine Textbox mit dem Namen txtBerechnet und einen Button mit dem Namen btnBerechnen ein.
Dazu wieder folgenden Code in die frmDaten einfügen.
    Private Sub btnBerechnen_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles btnBerechnen.Click
        'frmBerechnen als Dialog aufrufen, dieser gibt dann nach einem Klick 
        ' auf OK DialogResultOK zurück und wir wissen das der Benutzer auf OK 
        ' geklickt hat und wir den Wert auslesen können.
        Dim frmBerechnen As frmBerechnen
        If frmBerechnen Is Nothing Then frmBerechnen = New frmBerechnen
        If frmBerechnen.ShowDialog = Windows.Forms.DialogResult.OK Then
            txtBerechnet.Text = frmBerechnen.Ergebnis.ToString
        End If
    End Sub
Zum Schluss noch eine 3. Form erstellen mit dem Namen frmBerechnen und folgenden Steuerelementen. 3 Textboxen mit den Namen TextBox1, TextBox2, TextBox3 und 2 CommandButtons mit den Namen btnOK und btnCancel.

Dann noch folgenden Code in die frmBerechnen einfügen.
    Private mErgebnis As Double
 
    'Eigenschaft, in dem der berechnete Wert nach dem drücken auf OK 
    ' gespeichert wird.
    Public ReadOnly Property Ergebnis() As Double
        Get
            Return mErgebnis
        End Get
    End Property
 
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles TextBox1.TextChanged
        Try
            If TextBox1.Text = "" Or TextBox2.Text = "" Then
            Else
                TextBox3.Text = CDbl(TextBox1.Text) * CDbl(TextBox2.Text)
            End If
        Catch
        End Try
    End Sub
 
    Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles TextBox2.TextChanged
        Try
            If TextBox1.Text = "" Or TextBox2.Text = "" Then
            Else
                TextBox3.Text = CDbl(TextBox1.Text) * CDbl(TextBox2.Text)
            End If
        Catch
        End Try
    End Sub
 
    Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles btnCancel.Click
        'nichts in das Feld Ergebnis eintragen, da ja Wert nicht übernommen 
        ' werden soll
        'Cancel an frmDaten zurückgeben.
        Me.DialogResult = Windows.Forms.DialogResult.Cancel
        Me.Close()
    End Sub
 
    Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles btnOK.Click
        'Benutzer hat OK geklickt also Wert in Property eintragen und OK 
        ' zurückgeben an frmDaten.
        mErgebnis = CDbl(TextBox3.Text)
        Me.DialogResult = Windows.Forms.DialogResult.OK
        Me.Close()
    End Sub
Die genaue Beschreibung wie das mit den Properties und dem übergeben von Werten an diese funktioniert steht ja schon irgendwo hier im Beitrag. Zumindest denke ich das da ein Link zu einem Beitrag war, den ich zu diesem Thema schonmal verfasst habe.

Ist jetzt sehr vereinfacht, man könnte natürlich auch in der frmBerechnen im Form_Load Ereignis den aktuellen Wert auch wieder auslesen. Dazu müsste das ReadOnly weg und der Wert bevor man frmBerechnen anzeigt an frmBerechnen.Ergebnis übergeben werden. Dann kann die Form mit ShowDialog angezeigt werden und man kann in dieser im Form_Load Ereignis dann den Wert von Ergebnis wieder in TextBox3 schreiben. Aber das kann man ja dann ausbauen wie man will.

Hoffe mal das sich kein Fehler eingeschlichen hat. Wurde gestern etwas länger.

Christain25
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Daten von Form zu Form übergeben2.269wassermichl17.05.07 13:40
Re: Daten von Form zu Form übergeben1.812.:markus:.17.05.07 13:57
Re: Daten von Form zu Form übergeben1.809ModeratorFZelle17.05.07 14:55
Re: Daten von Form zu Form übergeben1.744wassermichl17.05.07 15:11
Re: Daten von Form zu Form übergeben1.728wassermichl17.05.07 15:06
Re: Daten von Form zu Form übergeben1.728wassermichl14.06.07 20:50
Re: Daten von Form zu Form übergeben1.755ModeratorFZelle15.06.07 09:34
Re: Daten von Form zu Form übergeben1.824wassermichl15.06.07 10:19
Re: Daten von Form zu Form übergeben1.746wassermichl15.06.07 20:20
Re: Daten von Form zu Form übergeben1.729Christian2515.06.07 23:06
Re: Daten von Form zu Form übergeben1.741wassermichl16.06.07 14:10
Re: Daten von Form zu Form übergeben1.862Christian2516.06.07 17:12
Re: Daten von Form zu Form übergeben1.713wassermichl17.06.07 11:58
Re: Daten von Form zu Form übergeben1.684wassermichl17.06.07 19:42

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel