У меня есть приложение, в котором я могу перейти от одного пользовательского элемента управления ко многим пользовательским элементам управления. Когда я переходил ко многим элементам управления, у меня возникали проблемы с мерцанием.
Для устранения мерцания я включил Двойную буферизацию через -
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x02000000; // Turn on WS_EX_COMPOSITED
return cp;
}
}
Это действительно решило проблему мерцания . Но представил новую проблему, в которой иногда мой пользовательский элемент управления не полностью окрашен. Черное окно появилось. Чтобы решить эту проблему, мне нужно свернуть и развернуть программное обеспечение, и оно выглядит правильно.
Я думаю, что в то время как двойная буферизация рисует всех пользователей
Один или несколько пользовательских элементов управления все еще генерируют
управления. И во времена мастерской живописи этот контроль не был
готовый.
Вот изображение для получения правильной идеи -
![enter image description here](https://i.stack.imgur.com/B14PK.png)
Как показано на рисунке, есть одна форма, содержащая 4 пользовательских элемента управления в этом конкретном сценарии. Каждый пользовательский элемент управления далее содержит другие элементы управления / пользовательские элементы управления.
Что, вероятно, идет не так в этом вопросе?