Get and Set

Status
Niet open voor verdere reacties.

Roadrocker66

Gebruiker
Lid geworden
7 mei 2009
Berichten
104
Hallo allemaal.
Was ik weer eens na een lange tijd.

Ik heb een probleem.
Ik heb 10 forms in één project.
Eén form (Form1) heeft 5 textboxes.
Nu wil ik dat de tekst van die 5 textboxes wordt over genomen in labels op een andere form (Form 10)
Ik dacht zelf iets van Get and Set.
Hoe kan ik dat het beste doen?

mvg. Jeen
 
a) je kan de waarde meegeven naar het andere form
b) je kan de waarde in een andere klasse zetten en deze op het andere form aanroepen

denk dat die laatste manier is hoe je bedoelde
 
Heb jij misschien ook een voorbeeld of link voor mij?
Ik bedoel een link naar en video of een code waar ik dat kan zien.
 
Laatst bewerkt:
Als je in dit forum gedeelte even doorzoekt vind je zo wat voorbeelden (ook even doorbladeren naar pagina 2,3,4)
 
Je bedoelt een Property?
Lijkt me niet handig.

Gewoon een new instance van zo'n form maken is handiger.
Simpel voorbeeldje:

[CPP]Dim f As New Form
Dim tb As New TextBox
''//instellingen textbox
tb.Location = New Point (x,y)
''//etc

f.Controls.Add(tb)
f.Show()[/CPP]
 
Ik bedoel echt dat ik de tekst van die 5 textboxes in (Form1) kopieer in de labels op (Form 10).
Dus dat ik bv de tekst van textBox1.Text van (Form1) terug vind in een label bv Label1.Text van (Form10)

Even dit.
Form10 is niet het main form.
In (form10) moeten namelijk totalen worden berekend.

Begintijd en eindtijd = zoveel totaal tijd
En begin km stand en eind km stand = zoveel totaal aantal km's
Snap ie!

Over het berekenen hiervan moet ik ook nog codes schrijven.
DUS voorlopig zijn jullie nog niet van mij af. haha.:p

Weet ook niet hoe ik het anders beter moet uitleggen.:confused:
 
Als je Form10 aanroept vanuit je Form1 kan je dit doen:

In Form10:
Code:
Public Class Form10

Public Sub New(str1 as string, str2 as string, str3 as string, str4 as string, str5 as string)

Label1.Text = str1
Label2.Text = str2
Label3.Text = str3
Label4.Text = str4
Label5.Text = str5

End Sub

End Class

In Form1: (waar je Form10 aanroept)
Code:
Dim frm10 as new Form10(Txt1.Text, Txt2.Text, Txt3.Text, Txt4.Text, Txt5.Text)
frm10.Show()

Hopelijk helpt het! :D
 
Dit is voor de berekening:

Bs27L.png

Download.
 
Hallo MatthiWare

Ziet er indruk wekkend uit en ik geloof daar ook wel in.
Maar nu het volgende!

Form 10 wordt niet vanuit form1 aan geroepen maar vanuit form 3 het hoofd menu.
Afbeelding4.jpg

In form 1 staan de textboxes die moeten worden over geschreven naar form 10.
Afbeelding2.jpg
Nog maals form 10 wordt opgeroepen vanuit form 3.

Hier de Code uit form 3, Het hoofd menu!
Code:
        private void endRide_btn_Click(object sender, EventArgs e)
        {
            EndTravel erf = new EndTravel();
            erf.Show();
            erf.FormClosing += CloseEvent;
            this.Hide();
        }

De strings zijn al wel in geschreven in form 10.
Dat ging goed.
Form 10 heet dus EndTravel.
Code:
public EndTravel(string str1, string str2, string str3, string str4, string str5)
        {
            InitializeComponent();
            endTime_txt.Focus();

            yourName_lbl2.Text = str1;
            start_lbl_Date.Text = str2;
            LicensePlate_lbl2.Text = str3;
            start_lbl_Time.Text = str4;
            start_lbl_KmLevel.Text = str5;
        }
Afbeelding3.jpg
Wat nu?
Wat moet ik nu in form 3 doen?
 
Laatst bewerkt:
Kun je die niet uit Form3 halen dan? Of alles gewoon in het 'mainform' houden?
(ik zie trouwens dat ik mijn antwoorden in VB heb gegeven... :shocked:)
 
@JoZ1 ik ook lol

@Roadrocker66
Oke aangezien Form10 aangeroepen word uit Form3 ipv Form1 kan je wat je nodig hebt (om het makkelijk te houden) static (statisch / shared) maken.

Form 10 (endtravel):
Code:
        public EndTravel(string str1, string str2, string str3, string str4, string str5)
        {
            InitializeComponent();
            endTime_txt.Focus();

            yourName_lbl2.Text = str1;
            start_lbl_Date.Text = str2;
            LicensePlate_lbl2.Text = str3;
            start_lbl_Time.Text = str4;
            start_lbl_KmLevel.Text = str5;
        }

Form3
Code:
        private void endRide_btn_Click(object sender, EventArgs e)
        {
            EndTravel erf = new EndTravel(Form1.Name, Form1.Date, Form1.LicensePlate, Form1.Time, Form1.KmLevel);
            erf.Show();
            erf.FormClosing += CloseEvent;
            this.Hide();
        }

Form1
Code:
      // In de formclosing event
      private void form1_Closing(...)
      {
            // dit slaat de waarden op in een statische/static/shared variabele
            // Het kan zijn dat je een waarschuwing krijgt met iets van 'abignious call' ofzo, als dat zo is maakt dat niet veel uit maar om het op 
            // op te lossen verander Form1 in Me

            Form1.Name = txtName.Text
            Form1.Date = txtDate.Text
            Form1.LicensePlate = txtPlate.Text
            Form1.Time = txtTime.Text
            Form1.KmLevel = txtKmLevel.Text
      }

Hopelijk werkt het of helpt het toch een beetje ;)
 
Ben er nog niet uit.
Ergens krijg ik om mij veel te veel fout meldingen.

Ik probeer nu Form 10 mainMenu te maken.
Kijken of dat dan beter gaat.
 
Owja stom van me ;p

in form 1 moet je dit nog plaatsen
Code:
Public Static String Name
Public Static Date Date
Public Static String LicensePlate
Public Static Date Time
Public Static Single KmLevel
 
Laatst bewerkt:
Ben er op één punt uit.
Door de volgende code te gebruiken heb ik ieder geval al één textbox.Text (yourName_txt.Text) kunnen overschrijven naar een label in form 3 het hoofdMenu.
Code:
        private void MessageBox_btn_Ok_Click(object sender, EventArgs e)
        {
            Application.DoEvents();
            Menu m = new Menu();
            m.YourName_lbl.Text = Yn_txt.Text;
            m.Show();
            this.Hide();
        }
Heb een this.Hide gebruikt in plaats van een this.Close.
Nu nog de andere textboxes.Text naar de labels.Text in form 10, het endTravel formulier.
Deze moeten niet uit een close event over geschreven worden.

Kan best zijn dat ze uit een string moeten komen maar ik kom er niet uit.
Wie o wie kan me er uit helpen?
Al het andere heb ik al geprobeerd maar lukt niet!

mvg. Jeen
 
Laatst bewerkt:
Hoe langer hoe minder in het probleem begrijp..
Je wilt van een Label/TextBox in FormX naar een TextBox/Label schrijven in een FormY?
De code hierboven doet dat toch?
 
Get and Set in C#

Hallo allemaal.
Ben nog steeds er nog steeds niet uit, maar wil iets gaan proberen.
Wil een sqldatabase formulier maken met alle textboxes die nodig zijn voor een tijd en km registratie.

Dus:
Datum
Begintijd- Eindtijd
Begin Km stand - Eind Km stand
enz., enz.

Dan wil ik een 2e formulier maken een (overzicht formulier) met alleen maar labels.
En naar die labels moet dan wel alle tekst van die textBoxes.Text uit die sqldatabase formulier gekopieert worden.
Met daar onder labels die de results (totalen) weergeven.
Dan heb ik eigenlijk voor de registratie maar twee formulieren.

Kan dat?:rolleyes:
 
Get and Set in C#

Hallo MatthiWare.

Ik kan op een één of andere manier de zip bestanden niet openen.

mvg. Jeen
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan