Diskuze: UserControl s pár buttonmi v liste

C# .NET .NET (C# a Visual Basic) UserControl s pár buttonmi v liste American English version English version

Avatar
roks
Člen
Avatar
roks:

Zdravím, mám List, ktorého obsah je aj UserControl s pár buttonmi a potreboval by som poradiť, podľa čoho zistím index Listu po kliknutí na button z toho UserControlu(res­pektíve buttonu), ktorý je súčasťou Listu. V Okne ich mám pochopiteľne viac, buttony sú úplne rovnaké, takže buď ich potrebujem nejak rozlíšiť, alebo nejak zistiť ich "Listový index"... ďakujem :)

 
Odpovědět 13.10.2013 22:02
Avatar
Jan Vargovský
Redaktor
Avatar
Jan Vargovský:

Proiteruješ list a jestli se schoduje ten iterovaný prvek s tím kliknutým, tak pak budeš něco dále dělat. Btw, nato aby si je mohl porovnávat (jestli mají fakt všechny uplně stejné vlastnosti) tak bych si je nějak oindexoval nebo otagoval, abys je mohl podle toho porovnávat.

 
Nahoru Odpovědět 13.10.2013 22:15
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na roks
Jan Vargovský:

Tak ještě jsem trošku přemýšlel a List má vlastně metodu IndexOf(T item)

 
Nahoru Odpovědět 13.10.2013 22:23
Avatar
roks
Člen
Avatar
Odpovídá na Jan Vargovský
roks:

aha vďaka, však asi to Otagujem, ale neviem ako spraviť, že ako zistiť, či sa rovná button na ktorý som klikol, teda neviem ako dopísať tento kód:

private void btnKlik(object sender, EventArgs e)
{
var najdenyList = Listy.SingleOrDefault(x => x.id == ???.Tag);
}
 
Nahoru Odpovědět 14.10.2013 14:34
Avatar
Jan Vargovský
Redaktor
Avatar
Jan Vargovský:

No ten control máš přece schovaný v tom senderu ne? Tak ho jen přetypuj a uvidíš jeho vlastnosti, které by ten objekt měl mít. Každopádně je divné porovnávat id s Tagem ... Nevím jak to máš navržené, ale měl by jsi porovnávat stejné vlastnosti.

EDIT: Nehledě nato, že List.SingleOr­Default vrací přímo konkrétní prvek z toho listu, takže název najdenyList je trošku blbě zvolený. Trošku se podívej na konvence C#, takhle se v tom nedá vyznat co je co.

Editováno 14.10.2013 15:55
 
Nahoru Odpovědět 14.10.2013 15:53
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.