Я не могу выйти из своего ClipRectangle и хочу плакать

При переопределении метода OnPaint пользовательского элемента управления мне предоставляется PaintEventArgs , который содержит объект Graphics и ClipRectangle. ClipRectangle слишком мал на мой вкус, поэтому я хочу либо расширить его, скажем, на 100 пикселей, либо полностью игнорировать.

Независимо от того, что я делаю, мне кажется, что я не могу вырваться из ClipRectangle. До сих пор я пробовал:

e.ClipRectangle.Inflate(100, 0);
e.Graphics.ResetClip();
e.Graphics.SetClip(new Rectangle(x, y, w, h));

Родительский элемент управления вызывает Invalidate (true) (чтобы принудительно сделать недействительными все дочерние элементы управления дочерних элементов).

Я также немного погуглил и просмотрел сайт Боба Пауэлла, но не может найти nuffin.

ResetClip сбрасывает область отсечения для объекта Graphics до бесконечно большого прямоугольника, но объект Graphics с радостью продолжает использовать предоставленный ClipRectangle.

Справка.

12
задан Matt Jacobsen 26 April 2011 в 11:49
поделиться