c # - Slettet knap efter oprettelse af kode. Bragte det tilbage, men kode er ikke bundet til det

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg bruger c # i Windows Visual Studio 2010. Jeg måtte fjerne flere kontroller på en form for at indsætte to SplitContainers. Hændelseskoden for disse kontroller blev efterladt intakt. Efter at have fået de to SplitContainers oprettet, tilføjede jeg de fjernede kontroller, en ad gangen. Jeg omdøbte dem og satte dem op som de var. Da jeg kontrollerede 'begivenheden' så jeg, at ingen af ​​arrangementsposterne var blevet genkendt. Er der en nem måde at re-associere kontrollerne med begivenhedskoden?


Tak på forhånd,
Bob

Bedste reference


Der er. Du kan se kode som denne i .Designer.cs filerne, hvis du har oprettet dem med designeren, og der er ingen grund til, at du ikke kan gøre dette i din egen kode manuelt.


//Control.Event += AppropriateMethodName;
yourControl.Click += yourControl\_Click;


Hvis jeg fortolker dit spørgsmål forkert ovenfor, har du muligvis betydet, at du har fjernet dem inden for designeren. Hvis det er tilfældet, når du ser begivenheden i egenskabsvinduet, kan du klikke på rullemenuen og vælge fra en liste over eksisterende metoder, der matcher den relevante underskrift for arrangementet.

Andre referencer 1


Desværre skal du gentage det manuelt, da metoden ikke længere håndterer begivenheden. hvad du kunne have gjort er at du ikke bør fjerne dine kontroller bare trække dem til venstre eller højre og træk dem tilbage til dine splitcontainers-kontroller.


hvad du kan gøre er at vælge begivenheden fra begivenhedsvinduet i egenskaberne, men det er stadig manuelt eller i designerklassen men også stadig manuelt.

Andre referencer 2


I GUI kan du klikke på din kontrol, gå til begivenhedslisten i vinduet Egenskaber og vælge begivenhedshandler fra rullemenuen ud for den begivenhed, du er interesseret i at håndtere. Visual Studio vil liste alle metoderne med Den korrekte signatur til at håndtere den begivenhed. Hvis du brugte den samme kontroltype, og din event handler kode stadig er der, så skal den dukke op i den rullemenu.