The very definition of an abstract method in C# is a function declaration without an implementation. Non-abstract derived classes are required to provide the implementation. If you want to provide a default implementation, the method should be virtual rather than abstract.
If you want to keep it abstract just replace the body with a semicolon. That makes it a declaration rather than a definition:
public abstract Graphics drawRectangle(Graphics drawarea);