Avatar billede mulse Nybegynder
17. marts 2006 - 21:27 Der er 16 kommentarer og
1 løsning

tekststreng på to windows form

Jeg sidder og leger med windows forms og er støt på et lille problem: Jeg vil gerne have overført en tekststreng fra f.eks. en textbox mellem to former:

NyForm nyForm1 = new NyForm();
nyForm1.textbox1.Text = this.textBox1.Text;
nyForm1.Show();

Dette fungere også fint, og teksten bliver vist i texBox1 på nyForm men når jeg så f.eks. har ændret teksten og vil "sende" den tilbage til min "main-form", kan jeg ikke "finde" textBox1 på min mainForm. mainForm og textBox1 er public, så hvorfor kan jeg ikke bruge samme teknink?

public class MainForm : System.Windows.Forms.Form
...
public TextBox textBox1;
...
[STAThread]
public static void Main()
{
      Application.Run(new MainForm());
}
Avatar billede bitsch Nybegynder
18. marts 2006 - 07:19 #1
Lav en public property på dine forms til text box værdien (get.. set..).
Overvej desuden at lave en constructor for den aktuelle form som tager din text værdi (og assigner din text box).
Avatar billede dr_chaos Nybegynder
18. marts 2006 - 08:54 #2
Du kan gøre noget i denne stil
puplic class mainform: System.Windows.Forms.Form
{
public mainform()
{
}
[STAThread]
public static void Main()
{
      Application.Run(new MainForm());
}

}
Avatar billede dr_chaos Nybegynder
18. marts 2006 - 08:56 #3
public class NyForm
{
private mainform mForm;
public NyForm (mainform owner)
{
mForm =owner;
}

//i en metode kan du så tilgå alle felter i mainform med
public void SetText()
{
mForm.TextBox1.Text ="En streng fra nyform";
}
}
Avatar billede dr_chaos Nybegynder
18. marts 2006 - 08:58 #4
på denne måde kan du også kalde
mForm.Enabled = false;
så sørger du for at man ikke kan røre ved mainform men nyform er åben.

Du skal bare huske at kalde
mForm.Enabled = true;
når nyform lukkes
Avatar billede mulse Nybegynder
18. marts 2006 - 09:01 #5
dr. chaos jeg tror ikke helt jeg forstår hvad du mener ... hvis du kigger hvad jeg har skrevet er det, det samme... Dette gør det stadigvæk ikke muligt at lave det jeg vil .. jeg tænker mere på om der er en metode kald aka.: ParentForm.JegSkalBrugeControlesHer..., til at tilgå de public controles der er på parent form fra min nyForm
Avatar billede dr_chaos Nybegynder
18. marts 2006 - 09:03 #6
Det er ikke helt det samme jeg sender en reference af mainform med til nyform
Avatar billede dr_chaos Nybegynder
18. marts 2006 - 09:03 #7
Hvis du ser på konstruktøren:
public NyForm (mainform owner)
{
mForm =owner;
}
Avatar billede dr_chaos Nybegynder
18. marts 2006 - 09:04 #8
med den reference jeg sender med har man adgang til alle kontroller på mainform.
Avatar billede dr_chaos Nybegynder
18. marts 2006 - 09:05 #9
f.eks. kan du bruge

public void SetText()
{
mForm.TextBox1.Text =this.TextBox1.Text;
}

i nyform
altså du sætter teksten på textbox1 på mainform til det samme som på nyform1.
Avatar billede bitsch Nybegynder
18. marts 2006 - 10:39 #10
Og ja så er du tilbage til min 1. kommentar.
Avatar billede mulse Nybegynder
18. marts 2006 - 10:59 #11
super cool, tak sq da ;) Jeg gir' en bajer i aften så !!!
Avatar billede dr_chaos Nybegynder
18. marts 2006 - 11:01 #12
hvem af os siger du tak til ?
Avatar billede mulse Nybegynder
18. marts 2006 - 11:02 #13
u my friend :)
Avatar billede dr_chaos Nybegynder
18. marts 2006 - 11:03 #14
hehe ville bare spørge :)

smider et svar så :)
Avatar billede mulse Nybegynder
18. marts 2006 - 11:04 #15
sry .. er ny på det her forum .. har du så fået poient nu ? Håbber jeg anyway.. thx for hjælpen
Avatar billede dr_chaos Nybegynder
18. marts 2006 - 11:06 #16
du skal markere mit navn i listboksen og vælge accepter.
Avatar billede dr_chaos Nybegynder
18. marts 2006 - 11:07 #17
:)
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