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

C# Kako kreirati dogadjaj za dinamicki kreirane kontrole

[es] :: .NET :: C# Kako kreirati dogadjaj za dinamicki kreirane kontrole

[ Pregleda: 2122 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon C# Kako kreirati dogadjaj za dinamicki kreirane kontrole02.08.2008. u 11:21 - pre 191 meseci
Ovim kodom dinamicki kreiram kontrole:

Code:

        void CreateTxt(int MAX)
        {
            int i;
            TextBox[] t = new TextBox[MAX];
            int tTop;
            int tLeft;

            tTop = 50;
            tLeft = 50;

            for (i = 0; i < MAX; i++)
            {
                t[i] = new TextBox();
                
                t[i].Location = new Point(tLeft, tTop);
                
                t[i].TabIndex = i;
                t[i].Size = new Size(100, 20);

//                t[i].Validating += new CancelEventHandler(Form1_Validating);
                Controls.Add(t[i]);
                
                tTop = tTop + 30;
//              tLeft = tLeft;
            }

        }


Pokusavao sam i nisam uspio da napravim dogadjaj validating za ove kontrole. Treba mi da kad unosim vrijednosti i napustam textBox da mi se pozove metoda validateing.
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

Dejan Vesic
Dejan Vesic
CEO
IGT Ogranak Beograd
Beograd

Član broj: 84929
Poruke: 217
*.adsl-2.sezampro.yu.

Sajt: www.vesic.org


+1 Profil

icon Re: C# Kako kreirati dogadjaj za dinamicki kreirane kontrole02.08.2008. u 12:42 - pre 191 meseci
Prvo, pobrini se da procedura koja radi validaciju ISKLJUČIVO radi sa prosleđenim argumentima A NE sa globalnim imenima:

Code:

private void textBox1_Validating(object sender, CancelEventArgs e)
{
    if(sender is TextBox)
    {
        TextBox currControl = sender as TextBox;
        
        if(currControl.Text.Trim().ToLowerInvariant().StartsWith("a"))
        {
            // Ako tekst počinje sa "a", nema izlaska iz kontrole
            e.Cancel = true;
        }
    }
}


Sad, sve radi kao što je i očekivano:

Code:

void CreateTxt(int MAX)
{
  int i;
  TextBox[] t = new TextBox[MAX];
  int tTop;
  int tLeft;

  tTop = 50;
  tLeft = 50;

  for (i = 0; i < MAX; i++)
  {
      t[i] = new TextBox();
      t[i].Location = new Point(tLeft, tTop);
      t[i].TabIndex = i;
      t[i].Size = new Size(100, 20);

      t[i].Validating += textBox1_Validating;
      Controls.Add(t[i]);
      tTop = tTop + 30;
  }
}

 
Odgovor na temu

[es] :: .NET :: C# Kako kreirati dogadjaj za dinamicki kreirane kontrole

[ Pregleda: 2122 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

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