Hur låter jag en härledd klass ärva en händelse? du får överlagra OnClick-metoden nej det får du inte, men du får göra override på den. I min vokabulär så är överlagra samma sak som override, jag tror att litteraturen säger samma sak. Överlagra och override är inte samma sak. Överlagra innebär ju att flera metoder i en klass har samma namn men olika signatur. Override betyder att man i en subklass ersätter en metod som finns definierad i någon superklass. Vid override har metoderna i superklassen och subklassen samma signatur. Distinktionen mellan överlagring (overload) och omdefinition/överskuggning/ersättning (override) har tidigare varit otydlig i litteraturen. Därför är det lätt hänt att man inte gör en distinktion mellan dessa. Jaja, skit samma om det heter överlagring eller överskuggning. Mossa löste ju sitt problem ändå, och det är ju det som räknas... jag lider nog av samma syndrom , för mig är överlagra samma som override men inte samma som overload ... som det borde vara :PÄrva händelse?
Min Knapp-klass ärver från Button-klassen, men hur ärver jag och ändrar Buttons Click-händelse i min egna Klicka?
typ:
public class Knapp : System.Windows.Forms.Button
{
public Knapp()
{
Height = 40;
Width = 40;
}
public void Klicka()
{
}
}Sv: Ärva händelse?
Se mer om events http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vcwlkEventsTutorial.asp
Edit: för rätt terminologi byt ut överlagra mot överskuggaSv: Ärva händelse?
Överlagra = flera metoder med samma namn men olika signatur.Sv: Ärva händelse?
Sv: Ärva händelse?
Sv: Ärva händelse?
Sv: Ärva händelse?
Eftersom de flesta grejer är på engelska så är det svårt med bra svenska översättningar, visst jag kan ha blandat ihop begreppen men det spelar ju inte så stor roll när folk ändå fattar vad man menar.Sv: Ärva händelse?
hur som ... det du ska göra är:
protected override void OnClick(EventArgs e)
{
//gör roliga saker med kontrollen här , tex ritaom den på någe fint sätt
if (ska_vi_raisa_klick_eventet)
base.OnClick(e);
}
//Roger