c# gegevens uit form1 in form 2 laden.

  • Onderwerp starter Onderwerp starter baws
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

baws

Terugkerende gebruiker
Lid geworden
9 apr 2010
Berichten
1.258
Hallo.

hoe kan ik een string die ik in form 1 heb heb aangemaakt.
uitlezen in form2.

form2 wordt vanuit form1 gemaakt met behulp van een button.

mvg
 
hoe?
word niks wijzer van deze link.
 
Dan kun je misschien zelf even zoeken op 'Application Settings' voor betere links?
 
wat heeft het met application settings te maken ??
 
Weet je überhaupt wel wat het zijn? :confused:
Je kunt toch een setting aanmaken waarnaar je naartoe schrijft in het ene form, en ophaalt uit het andere?

Misschien dat het ook wel kan met Public variabelen.
 
Deze code werkt bij mij:

Eerst en vooral ga je een nieuwe property in 'Form2' maken:
[CPP]
private Form _frm1 = null;
public Form frm1
{
get { return _frm1; }
set { _frm1 = value; }
}
[/CPP]

Bij het maken van form2 (als je dus op de knop duuwt)
[CPP]
Form2 frm2 = new Form2();
frm2.frm1 = this;
frm2.Show();
[/CPP]

En in form2 heb ik ook een knop gezet die de tekst van 'Label1' die op form1 staat verkrijgt LET OP Label1 zijn modifiers moeten 'public' zijn ipv 'Private' dit kan je doen door naar de properties van label1 te gaan en naar de modifier te zoeken en deze dan op public zetten.
[CPP]
if (frm1 != null)
{
Form1 replica = (Form1)frm1;
MessageBox.Show(replica.label1.Text);
}
else
{
throw new ArgumentNullException("frm1", "De 'frm1' property kan niet null zijn!");
}
[/CPP]
 
bedankt, het is gelukt door de modifier aan te passen, ik had al gezocht naar public maar kon het niet vinden bedankt !
ik heb een form die startpagina heet en 1 vorm form1 wat het hoofd form is.

mijn code is nu als volgt.
form 1
Startpagina editstartpagina;
editstartpagina = new Startpagina();
editstartpagina.Show();

startpagina
public Startpagina(Form1 f)
: this()
{
mainform = f;
}
private void LBLHuidigePagina_Click(object sender, EventArgs e)
{
TBXNieuweStartPage.Text = mainform.TBXUrl.Text; ;
// laad de huidige pagina in TBXNieuweStartPage.Text

}
 
het werkt trouwens niet, er wordt aangegeven dat er geen waarde aanwezig is..
 
Bij mij werkt het wel dus jij moet iets verkeerd gedaan hebben.


jij hebt deze constructor gemaakt voor Startpagina:
Code:
public Startpagina(Form1 f)
: this()
{
mainform = f;
}

Maar in jouw code zie ik nergens het argument doorgeven van je constructor. Het kan wel zijn dat je 2 constuctors hebt. Maar kijk toch maar even of je de Form1 f argument niet vergeten bent
Code:
Startpagina editstartpagina;
editstartpagina = new Startpagina(); // editstartpagina = new Startpagina(this) aangezien je het uit form1 aanroept dus is 'this == form1'
editstartpagina.Show();

Ook zie ik nergens in je constuctor een InitializeComponent() call staan. Deze maakt je form als je de designer gebruikt hebt tenmisten.

Veel succes en als het niet werkt post dan is je hele code :)
 
Simpele manier:

gewoon een property in form 2:

Code:
public string InputValue
{
    set { textBox1.Text = value; }
}

en dan vanuit form 1:

Code:
private void showForm2_Click(object sender, EventArgs e)
{
    var frm2 = new Form2();
    frm2.InputValue = "de string waar deze dan ook vandaan komt";
    frm2.Show();
}
 
@Bloodshed vraag niet goed gelezen denk ik.
Er staat een string vanuit form1 uitlezen in form2 als je op een knop duuwt. Dus dan werkt je code niet zoals het moet.

En vraag is al opgelost :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan