Avatar billede smsng Nybegynder
12. august 2005 - 10:11 Der er 15 kommentarer og
1 løsning

Form control

Jeg har en Form1, som på et tidspunkt hopper over til Form2

private void button1_Click(object sender, EventArgs e)
{
Form Form2 = new Form2(this);

if(Form2.ShowDialog() == DialogResult.OK)
{
  //Her vil jeg gerne hente noget fra Form2, men kan ikke få lov.
  //Er der nogen der har en ide til hvordan jeg kan løse det??
}
}
Avatar billede spif2001 Nybegynder
12. august 2005 - 10:13 #1
Hvis din form2 er nedarvet fra Form, kan du lave en property på den og så kalde den
Avatar billede spif2001 Nybegynder
12. august 2005 - 10:14 #2
class MyForm : Form
{
  private int int1 = 0;

  public int Int1
  {
      get{return this.int1;}
  }
}
Avatar billede spif2001 Nybegynder
12. august 2005 - 10:16 #3
så kan click metoden i Form1 se sådan ud:

Kommenter / Svar
Vis fuld skærm
Tip en ven
Anmeld misbrug
Translate this page
   
Du er her : Eksperten : Spørgsmål & Svar : Programmering :: C# :: Form control :

Sidste nyt fra Eksperten : Fejlrettelser på Eksperten
Kære Eksperter Som mange sikkert har erfaret, har der være problemer med blandt andet nyhedsbreve, e-mails og Pro-abonnementer på Eksperten. De tekniske problemer skulle nu være rettet, så tingene ... [læs mere]

Form control
    30 point fra smsng   

Jeg har en Form1, som på et tidspunkt hopper over til Form2

private void button1_Click(object sender, EventArgs e)
{
MyForm Form2 = new MyForm(this);

if(Form2.ShowDialog() == DialogResult.OK)
{
  int test = Form2.Int1;
}
}
Avatar billede spif2001 Nybegynder
12. august 2005 - 10:16 #4
haha - copy pastede lige lovligt
Avatar billede smsng Nybegynder
12. august 2005 - 10:25 #5
Det troede jeg også, men det kan jeg ikke få til at virke :-(
Avatar billede spif2001 Nybegynder
12. august 2005 - 10:29 #6
??


Form Form2 = new Form2(this);

du polymorpher den her til en Form - kan du ikke bare skrive:

Form2 Form2 = new Form2(this);
Avatar billede smsng Nybegynder
12. august 2005 - 10:44 #7
Den var god nok...hvad hvis det er et array og ikke en int man skal have med sig?
Avatar billede smsng Nybegynder
12. august 2005 - 10:46 #8
kan man lave et for loop inde under get??
Avatar billede spif2001 Nybegynder
12. august 2005 - 10:47 #9
class MyForm : Form
{
  private ArrayList arr1;
  private int[] arr2;

  public ArrayList Arr1
  {
      get{return this.arr1;}
  }

  public int[] Arr2
  {
      get{return this.arr2;}
  }
}
Avatar billede spif2001 Nybegynder
12. august 2005 - 10:48 #10
loop - ja

public ArrayList Arr1
{
      get
      {
          for(int i=0;i<10;i++)
            this.arr1.Add(i);
          return this.arr1;
      }
}
Avatar billede smsng Nybegynder
12. august 2005 - 11:42 #11
Hvis jeg nu har:

public static System.Windows.Forms.Label[] lb1;
public static ArrayList test = new ArrayList();

private void InitializeComponent()
{
for(int i=0; i<Form1.ArrList1.Count; i++)
{
  lb1[i].Text = Form1.ArrList1[i].ToString();
}
}

public ArrayList arrLabel
{
get
{
  for(int i=0; i<cb1.Length; i++)
  Form2.test.Add(lb1[i].Text);
  return Form2.test;
}
}

så får jeg resultatet "System.Collections.ArrayList".
Avatar billede spif2001 Nybegynder
12. august 2005 - 11:46 #12
ja - det er jo en ArrayList du får tilbage...

Hvordan skal du vise indholdet i ArrayListen?

Kan du vise koden hvor du kalder arrLabel propertyen for at bruge den?
Avatar billede smsng Nybegynder
12. august 2005 - 11:49 #13
Form2 Form2 = new Form2(this);                
                                       
if(Form2.ShowDialog() == DialogResult.OK)
{
Console.WriteLine(Form2.arrLabel);
}

...er hvad jeg indtil nu har. Jeg ved ikke rigtig hvordan jeg skal hive det der ligger i ArrayList ud.
Avatar billede spif2001 Nybegynder
12. august 2005 - 11:52 #14
ok

Form2 Form2 = new Form2(this);               
                                     
if(Form2.ShowDialog() == DialogResult.OK)
{
    foreach(string s in Form2.arrLabel)
      Console.WriteLine(s);
}
Avatar billede smsng Nybegynder
12. august 2005 - 11:54 #15
det virkede..mange ta..bare smid et svar :-)
Avatar billede spif2001 Nybegynder
12. august 2005 - 11:56 #16
svar :)
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