Nazdar lidi,
řeším takovýto problém - mám tlačítko, u kterého bych potřeboval, aby mi po kliknutí na něj spouštělo různé metody v závilosti na tom, jakou má právě funkci. Např.: něco obdobného jako u přehrávačů - tlačítko má funkci PLAY, po stisku se spustí metoda play(), změní se jeho vlastnost text na PAUSE a potřebuju, aby se teď po jeho stisku spustila metoda pause().
Sice to mám funkční - mám pomocnou proměnnou a pak v té metodě, která se volá po stisku tlačítka se v závislosti na obsahu té pomocné proměnné spouští konkrétní větev. Ale myslím si, že by to mělo "snad" jít udělat i nějak elegntněji. Předem díky za rady.
Fórum › .NET
Tlačítko a dvě různé metody po kliknutí (c#)
Děláš to dobře, tohle se vážně řeší (alespoň co já vím) pomocí nějaké boolovské proměnné "paused", která když je nastavená na true, tak se pak zavolá metoda Play a ta proměnná se nastaví na false.
Samozřejmě bys mohl mít dvě metody, ale pomocná proměnná je podle mě lepší postup.
Dušan Janošík | web: djanosik.cz, @djanosik
Zdravím forum.
Tohle je přeci typický kandidát na DesignPattern Command, nebo ne?! V C# se taková věc vyrobí celkem snadno pomocí delegátů.
public class Radio
{
protected delegate void DefinedAction();
protected DefinedAction selectedAction;
public static void Main(string[] args)
{
Radio radio = new Radio();
radio.PlayPause();
radio.PlayPause();
radio.PlayPause();
}
public Radio()
{
selectedAction = new DefinedAction(Play);
}
public void PlayPause()
{
selectedAction();
}
protected void Play()
{
System.Console.WriteLine("Play");
selectedAction = new DefinedAction(Pause);
}
protected void Pause()
{
System.Console.WriteLine("Pause");
selectedAction = new DefinedAction(Play);
}
}
Co vy na to?
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 44 hostů
Podobná vlákna
Zmena panelu po kliknuti na tlacitko — založil BigBear
Spuštění PHP funkce při kliknutí na tlačítko — založil Stirl021
Kliknutí pravým tlačítkem myši přes tlačítko na panelu — založil RadimK
Access ruzne parametry pro ruzne polozky — založil John456
Moderátoři diskuze