Ponera att vi har en funktionalitet som skall finnas tillgänglig ifrån olika platser i en applikation, dvs via ett shortcut kommando, ett menyval och en knapp i flera Form's. Funktionaliteten är inte alltid tillgänglig och skall därför inaktivera (disabla) knapparna/menyvalet och shortcut'n. skapa någon form av settingsklass. Hmmm, det finns inget stöd för detta i frameworket alltså? Så varje person som har funktionalitet som skall kopplas till en knapp och ett meny val, måste göra deras egna implementation? Det är enkelt när du gör små program, men när man sedan har 50+ funktioner som skall stängas av/sättas på så blir det ohanterligt. Skall man då skapa en Singleton för alla 50 funktioner, och skapa lyssnar i alla formulär för dessa? Och när en funktion blir "enablad" skall alla formulär ha logik för att inse vilken funktionalitet som är ändrad? Borde ta exempel av Java i detta. Ett Action-objekt kan kopplas till knappar, menyer osv och när det inaktiveras ändrar alla sammankopplade objekt också. Skriv en klass som gör jobbet; finns event på alla kontroller för enable/disable. Finns egenskaper på alla kontroller för enable/disable. Använd en lista och lite logik för att knyta ihop det till en återanvändbar klass ifall du använder WPF (.NET 3.0) så finns Commands som funkar på det sätt som du beskriver. Det var på tiden, Java och Swing har ju haft detta i 8 år (1998). Men det är bra att MS inser att MVC konceptet är ett bra koncept.Sammankopplade knappar och menyer
Hur skall man göra på rätt sätt så att alla de olika kontrollera inaktiveras? Måste man gå igenom varenda formulär som har en knapp med funktionaliteten och ange att den skall vara disablad, eller finns det något lättare sätt?Sv: Sammankopplade knappar och menyer
stoppa sedan in properties för alla olika saker som ska gå att göra...
låt dessa properties raisa events när de ändras.
sedan kopplar du ihop dina formulär med din settingsklass (en singleton instans)
så att varje formulär subscribar på eventsen.
då kan du lätt bli notifierad i varje formulär när en knapp borde enablas/disablasSv:Sammankopplade knappar och menyer
Jag menar, detta är ju saker som de flesta program stöter på; och är förvånad att arkitekterna bakom .NET inte har en lösning för. Hur blir der med separering mellan View och Control?Sv: Sammankopplade knappar och menyer
Sv:Sammankopplade knappar och menyer
Sv: Sammankopplade knappar och menyer
Sv:Sammankopplade knappar och menyer