Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

problem s prebacivanjem teksta iz Classe na WinForm RTB

[es] :: .NET :: problem s prebacivanjem teksta iz Classe na WinForm RTB

[ Pregleda: 2227 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

xxxrugby

Član broj: 16068
Poruke: 653
*.adsl.net.t-com.hr.

Sajt: www.zagreb-rugby.hr


Profil

icon problem s prebacivanjem teksta iz Classe na WinForm RTB29.11.2006. u 12:06 - pre 212 meseci
Unutar WinForm sam stavio Public RichTextBox.

Te unutar Class-e imam
ili
WinForm wf = new WinFrom()

public neka_funkcija_koja_se_izvrsava()
{
//znaci ovu funkciju sam pozvao i uredno se izvrsava jer ako stavim MessageBox on uredno javlja sto se radi.
// al ovo se nece odradit
wf.rtb.AppendText("neki tekst"); // e al to se nece pojavit na rtb
}


ista stvar samo drugacije pozivanje


Te unutar Class-e imam

public neka_funkcija_koja_se_izvrsava()
{
//znaci ovu funkciju sam pozvao i uredno se izvrsava jer ako stavim MessageBox on uredno javlja sto se radi.
// al ovo se nece odradit
WinForm.rtb.AppendText("neki tekst"); // e al to se nece pojavit na rtb
}

ako probam napravit u WinForm funkciju
public void dodaj(string neki)
{

}
//pozovem iz Classe s
WinForm.dodaj("Yeeeeey")
{

}

i eto error-a [C# Error] Ping.cs(228): An object reference is required for the nonstatic field, method, or property 'test001.MainForm.dodaj_rtbPingReplay(string)'

xxxrugby: "We are all philosophers, when question is about politics!"
 
Odgovor na temu

bobanM
Boban Mikšin
Levi9 Global Sourcing
Novi Sad

Član broj: 61491
Poruke: 39
212.200.221.*



Profil

icon Re: problem s prebacivanjem teksta iz Classe na WinForm RTB29.11.2006. u 21:36 - pre 212 meseci
Pozdrav,

prvo odakle pozivas tu klasu tj. metodu. Prikazi malo vise koda kako bih mogao da ti kazem gde gresis.

Moja interpretacija

Code:
    
   public class WinForm : Form
   {
        public System.Windows.Forms.RichTextBox rtv;

        private void InitializeComponent()
        {
            this.rtb = new System.Windows.Forms.RichTextBox();
        }
        
        public WinForm()
        {
            InitializeComponent();
        }
   }

   public class Glavna : Form
    {
        private WinForm wf = new WinForm();

        public Glavna()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            wf.Show();
        }

        private void button2_Click(object sender, EventArgs e)
        {
           if(wf!=null) 
               wf.rtb.AppendText("neki tekst");
        }
    }


Radi, provereno!

Nadam se da si na to mislio :)

PS
ne mozes pozivati ne staticne metode iz klase za koju nisi prethodno napravio instancu iste.
nije lepo da budem lud a da to ne znam
 
Odgovor na temu

xxxrugby

Član broj: 16068
Poruke: 653
*.adsl.net.t-com.hr.

Sajt: www.zagreb-rugby.hr


Profil

icon Re: problem s prebacivanjem teksta iz Classe na WinForm RTB30.11.2006. u 09:24 - pre 212 meseci
imam u WinForm-i ili Glavnoj formi.

Code:
public class MainForm : System.Windows.Forms.Form
{
     public System.Windows.Forms.RichTextBox rtb;

     private void InitializeComponent()
     {
          this.rtb = new System.Windows.Forms.RichTextBox();
     }

                public MainForm()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            //
            // TODO: Add any constructor code after InitializeComponent call
            //
        }
}


Class-a
Code:
public class Ping
{
     private MainForm mf = new MainForm();

     public void PingHost(string strPingHost, int iPingBytes, uint lngPingCount, uint ngPingTimeout)
     {
          // sad tu ide kod i replay koj bi trebao ic u rtb,.
          mf.rtb.AppendText ("    Minimum = "+iMinTransmitTime.ToString() +"ms, Maximum =  "+iMaxTransmitTime+"ms, Average =  "+tmp.ToString() +"ms");
     }

}


E al mi to ne sljaka. Nece iz te classe stavit replay u rtb s MainFormi.

Hmmmm. Ako ubacim mf.show() onda mi nanovo otvara cijeli MainForm sto mi ne odgovara.
Il ja negdje griješim s krivim pozivanjem.

xxxrugby: "We are all philosophers, when question is about politics!"
 
Odgovor na temu

bobanM
Boban Mikšin
Levi9 Global Sourcing
Novi Sad

Član broj: 61491
Poruke: 39
*.ADSL.neobee.net.



Profil

icon Re: problem s prebacivanjem teksta iz Classe na WinForm RTB30.11.2006. u 13:01 - pre 212 meseci
Problem: Ti hoces na main formi koja je vec instacirana i pokrenuta da smestis vrednost u rich text box, ako se ne varam.

Greska : Problem je sto ti kreiras novu instancu klase MainForm i ocekujes da se to odnosi na prvu instancu, tu ti je greska. Tvoj kod radi ali ne ono sto ti ocekujes.

Resenje: Prosledi klasi Ping referencu na MainFom i nemoj kreirati novu instancu vec samo prosledi tu referencu u wf varijablu.

Pitanje: Odakle kreiras i pozivas klasu Ping?

nije lepo da budem lud a da to ne znam
 
Odgovor na temu

xxxrugby

Član broj: 16068
Poruke: 653
*.adsl.net.t-com.hr.

Sajt: www.zagreb-rugby.hr


Profil

icon Re: problem s prebacivanjem teksta iz Classe na WinForm RTB30.11.2006. u 15:00 - pre 212 meseci
Je bobanM imas pravo. To je problem.
Riješio sam taj problemcic na malo gori naćin al sad mi se to čak čini bolje.
Al isto to će mi trebat na drugoj formi pa ču probat napravit.



Pitanje: Odakle kreiras i pozivas klasu Ping?
Iz MainForm klase.
Te radim unutar funkcije poziv na klasu Ping.
xxxrugby: "We are all philosophers, when question is about politics!"
 
Odgovor na temu

[es] :: .NET :: problem s prebacivanjem teksta iz Classe na WinForm RTB

[ Pregleda: 2227 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.