Я изменяю размеры и перемещаю элементы управления.
Код работает так, как я хочу, за исключением того, что я получаю черный прямоугольник, отображаемый на короткое время в новом пространстве до появления правильного отображения.
Перемещение элемента управления выполняется, когда другой элемент управления изменяет его высоту.
Я делаю изменения из OnPaint в классе, производном от Label, и, кажется, не имеет значения, если я вызываюпервый или последний базовый OnPaint.
public ref class ResizeLabel : public System::Windows::Forms::Label
{
private void resizelabel()
{
int width = ... ;
int height = ... ;
__super::Width = width;
__super::Height = height;
this->LinkedControl->Top = __super::Top + __super::Height;
}
protected: virtual void OnPaint(System::Windows::Forms::PaintEventArgs^ e) override {
resizeLabel();
__super::OnPaint(e);
}
};
Возможно, я делаю что-то не так, но не знаю, что.
Кто-нибудь может помочь?