Я создал .NET UserControl для создания собственного класса PictureList. Однако, когда я изменяю размер элемента управления элемента управления, содержимое элемента управления исчезает. Событие Resize не выдано или что-то еще. Я оставил код, не относящийся к вопросу.Содержимое .NET UserControl исчезает при изменении размера родителя
public ImageList(int width, int height)
{
ClientSize = new Size(width, height);
ResizeRedraw = true;
}
// Ensure background transparency will be handled corretly.
protected override CreateParams CreateParams
{
get {
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x20; // WS_EX_TRANSPARENT
return cp;
}
}
protected override void OnPaint(PaintEventArgs e)
{
MessageBox.Show("This messagebox is only shown upon the first drawing, but not after the magically disappearing of the contents");
img = /*the image to draw*/
rect = /*the size of the image*/
e.Graphics.DrawImage(img, rect);
}
Я не могу воспроизвести вашу ошибку. Также я не знаю, почему у вас есть MessageBox в OnPaint (надеюсь, только для абстрактных целей). Вы создаете эти элементы управления программно или с помощью дизайнера? –
Я создал его программно. MessageBox предназначен только для объяснения. Проблема в том, что управление отлично рисует. Я использую его в дизайнере, размещаю его в макете и привязываю макет к сторонам формы. Когда я изменяю размер формы, изображение просто исчезает. – Supergrover
Какое содержимое? –