Ti pokusavas da preko definicije klase promenis promenjivu u INSTANCI klase. To mozes da uradis samo ako su polja definisana kao static.
Druga stvar:
Code:
public class Class1 : Form1 // ovde sam dodao : Form1
Ovako ti nasledjujes klasu Form1 i to ce se iskompajlirati ali to nije to sto tebi treba.
Fora je u ovome:
Code:
Form1 f1=new Form1();
// da bi izmenio promenjivu u f1 pises:
f1.listBox1.Items.Add("ubacujemo u listbox");
// ti pokusavas sledece:
Form1.listBox1.Items.Add("ubacujemo u listbox");
Probaj ovako da napises Class1:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using pop3;
namespace pop3
{
public class Class1
{
Form1 forma;
public Class1(Form1 f1)
{
forma=f1;
}
public void test()
{
Console.WriteLine("ispisujemo u konzoli...."); // ovo se ispise u command promptu
forma.listBox1.Items.Add("ubacujemo u listbox"); // ovo se ne desava, listBox1 ostaje prazan
}
}
}
Dakle prosledjujes konstruktoru Class1 referencu na formu koju hoces da menjas i onda mozes da menjas tu formu po zelji. Obrati paznju da je listView1 public polje. Ako hoces da menjas nesto drugo unutar forme onda moras da deklarises to polje kao public ili da koristis refleksiju.