19. september 2006 - 21:31
Der er
13 kommentarer og 2 løsninger
Ændre tekstem på en knap fra en anden form
Hvordan kan jeg ændre teksten på min knap som er på form1? men den skal ændre fra form2 af! button1.text = "Knappen er ændre fra form 2"
Annonceindlæg fra Infor
19. september 2006 - 21:46
#1
Application.Form1.button1.text = "noget"; noget i den stil vil jeg tro
19. september 2006 - 21:54
#2
ser ikke ud til at virke
19. september 2006 - 23:34
#3
Du kunne oprette en reference til Form1, når du opretter Form2.. Jeg går ud fra, at du har noget der ligner: Form2 f2 = new Form2() f2.show(); Så skulle du gerne kunne gøre sådan her: f2.show(this) eller f2.show(Form1) Så har du en reference til Form1, på Form2. Jeg har ikke testet det... men det burde virke.. vil jeg mene.. :)
19. september 2006 - 23:39
#4
Nu har jeg testet det.. Eksempel: Form1: Form2 f2 = new Form2(this); f2.Show(); Form2: public partial class Form2 : Form { private Form frmForm1 = new Form(); public Form2(Form f1) { InitializeComponent(); frmForm1 = f1; } private void Form2_Load(object sender, EventArgs e) { MessageBox.Show("Titlen på Form1 er: " + frmForm1.Text); } }
19. september 2006 - 23:46
#5
Hmm.. Det er lidt tricky med kald til en event på Form1.. kigger lige på det..
20. september 2006 - 00:48
#6
Hmm... kan ikke hitte ud af det..
20. september 2006 - 10:46
#7
Du kan tilføje en egenskab til Form1, som du så kan bruge fra Form2 via. din reference. Form1: internal string ButtonText { get { return this.button1.Text; } set { this.button1.Text = value; } } Form2 f2 = new Form2(this); f2.Show(this); eller f2.ShowDialog(this); Form2: private Form1 frmForm1; public Form2(Form1 f1) { InitializeComponent(); frmForm1 = f1; frmForm1.ButtonText = "Ny tekst til knap"; } Har lavet det lidt anderledes end thesurfer. Jeg bruger en refernce til Form1, frem for Form, da den ekstra filføjede egenskab i Form1 ellers ikke findes.
20. september 2006 - 17:48
#8
kan ikke få det til at virke.. for en fejl. noget med: "No overload. 0 metoede argument " noget i den stil Form2 f2 = new Form2(this); f2.Show(this);
20. september 2006 - 21:09
#9
Du skal rette Form2's constructoren, som vist i eksemplet, så den forventer inputtet.
21. september 2006 - 14:26
#10
den siger stadig "No overload for method 'form2' takes '1' arguments"
21. september 2006 - 15:09
#11
Du kan i form2 skrive følgende, såfremt din button1 er public, ellers skal den gøres det, hedder Modifieres i VS i properties: Form1.button1.Text = "Test"; en anden udvej er at lave en metode som er public på form1, som du kalder fra form2, på følgende måde: public static void SetButton1Text(string text){ button1.Text = text; } og kald denne metode fra form2: Form1.SetButton1Text();
21. september 2006 - 16:10
#12
Prøv at paste din Form2 kode her ind.
21. september 2006 - 16:14
#13
hvis i 2 lige laver et svar.. så deler jeg pointne i mellem jer.. har fået det til at virke
21. september 2006 - 16:43
#14
ved ikke om du mener mig, men her er svar
21. september 2006 - 17:59
#15
Og et her.
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.