Avatar billede marduk666 Nybegynder
03. oktober 2003 - 18:11 Der er 6 kommentarer og
1 løsning

Hent data fra en anden form.

Hvordan henter jeg indholdet fra min textBox i en form fra en anden?
Avatar billede jakobandersen Nybegynder
03. oktober 2003 - 18:26 #1
Du kan kigge direkte i den anden forms controls collection
Avatar billede marduk666 Nybegynder
03. oktober 2003 - 18:49 #2
Sådan her ser mit program ud. Jeg vil gerne hente indholdet fra textBox'en i "Program.Settings" fra "mainForm".


namespace Program
{
  public class mainForm : System.Windows.Forms.Form
  {
    ...
  }
}

namespace Program.Settings
{
  public class Settings : System.Windows.Forms.Form
  {
    ...
    private void InitializeComponent()
    {
      ...
      this.textBox.Text = "ABC";
      ...
    }
  }
}
Avatar billede finger Nybegynder
03. oktober 2003 - 19:27 #3
Den pæneste måde at gøre det på vil være at adskille data fra grafisk fremstilling. Normalt "opbevarer" man data i en helt seperat klasse og bruger DataBinding til at binde controls til data. Men hvis du ikke vil det så kan du gøre en halvvejs pæn løsning og oprette en property til det.
Tilføj koden til den form hvorfra du vil hente din data fra din control:

public string myData
{
  get
  {
      return myTextBox.Text;
  }
  set //hvis du tilføjer 'set' også, kan du også sætte dataen.
  {
      myTextBox.Text = value;
  }
}

så kan du kalde din form således:

//hente:
string myText = myForm.myData;

//sæt værdien:
myForm.myData = "my text string"
Avatar billede marduk666 Nybegynder
03. oktober 2003 - 23:56 #4
Det er ikke helt det jeg havde tænkt mig...
Avatar billede jakobandersen Nybegynder
04. oktober 2003 - 00:14 #5
Du kan gøre noget ala dette:

foreach(Form f in this.OwnedForms) {
  if (f is Settings) {
    string TextFraSettingsTextBox = ((Settings)f).textBox.Text;
  }
}
Avatar billede jakobandersen Nybegynder
04. oktober 2003 - 00:15 #6
Og så måske lige med en terminering/break for at gøre det lidt pænere...
Avatar billede marduk666 Nybegynder
04. oktober 2003 - 01:58 #7
Det var sådan en jeg skulle 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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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