11. september 2007 - 13:29Der er
14 kommentarer og 1 løsning
Få adgang til en forms metoder fra en anden form
Jeg har en comport i en form og metoder til at aflæse den. Jeg vil gerne kalde formens metoder fra mainformen men jeg kan ikke "se" formen fra mainformen Jeg har prøvet med new men den anden form dukker ikke op på listen over muligheder.
Ja, men Jeg har lige opdaget at jeg havde overset at formen hed noget andet end jeg forventede. Kan jeg så ikke lægge subformen med i mainformes conttructor?
Her er et meget simpelt eksempel på at instantiere en form fra en andens constructor.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms;
namespace HelloWorldApp { static class HelloWorld {
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms;
namespace HelloWorldApp { static class HelloWorld {
Det eneste som man bare skal huske på når man skal kalde andre forms metoder er i korte træk følgende :
1. Fra form1 skal du oprette en ny reference til form2. 2. De metoder i form2 som skal kunne kaldes fra form1 skal være public. Dvs. f.eks. : public void Form2_metode1() 3. Hvis du skal kunne kalde tilbage igen til form1 fra form2 skal du lave en metode på form2 som f.eks. ser sådan her ud :
public void Init(Form1 F2) { this.F1 = F2; this.Show(); }
Og F1 er på Form2 en ny reference til Form1. Ala : private Form1 F1;
Så kan du nemlig fra Form2 referere tilbage til Form1 vha. F1.
Hej Lasse og Sherlock ! Nu har jeg kikket på jeres svar. Der kommer desværre en fejl flere fejl, når jeg køre dit projekt på den beskevne måde Sherlock Har du selv prøvet at køre det ?
Lasse tak for dit svar! Nu tror jeg den er trængt ind i !!
Ja nu er den helt hjemme. Jeg har prøvet din forklaring Lasse. Det virker! Ked at jeg ikke har brugt dit eksempel sherlock.
For mig var det ikke et helt simpelt eksempel. Og der kom nogle fejl med namespace.
:-) Michael
Synes godt om
Ny brugerNybegynder
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.