Hmm, even een schopje... Ik heb een tijd terug ook dit probleem gehad.
Als ik een abstract form maak met abstract functies dan kan ik de afgeleide form niet meer editen in mijn designview omdat de baseclass abstract is. Logisch, maar weet iemand een methods waarop ik dit principe wel kan bereiken.
Dit vind ik helemaal niet logisch, want, je kan je abstracte base-form
wel in je designer openen; waarom zou je dan de concrete form niet in de designer kunnen openen. Dit vind ik toch een misser van MS...
Bij je eerste oplossing / voorstel:
je kan die interface-method natuurlijk een virtual method laten oproepen, die je dan overrided in je inherited classes, maar ik zie daar eigenlijk het voordeel niet van in.
Voor de 2de: je kan je base-form die interface ook laten implementeren natuurlijk, maar in de implementatie van de base form excepties gooien...
Hoedanook, ik zou het oplossen zoals je in je tweede post aangeeft: exceptions gooien als je een method aanroept die niet overriden is, en deze overriden moet zijn; of als de base-class direct gebruikt wordt...
Je kan het oplossen door een protected constructor te maken in je base - class en je base class niet abstract te maken. Op die manier kan je ook geen form instantieren.
\[.NET/VS.NET] inheriten van abstract forms