Этот документ Google показывает, как перейти с Google+ на Google Sign-In. Это шаг за шагом довольно подробный документ о том, как завершить преобразование для части библиотек Google.
Важные пункты, которые нужно изменить на вашем бэкэнде:
короткий ответ
SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
длинный ответ: см. MSDN или Google
только для забавы, попробуйте вызывающее приложение. DoEvents () после каждого элемента обновляется, и посмотрите, поправляется ли проблема или хуже ;-)
Это работало на меня.
http://www.syncfusion.com/faq/windowsforms/search/558.aspx
В основном это включает получение из желаемого управления и установки следующих стилей.
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
SetStyle(ControlStyles.DoubleBuffer, true);
Вы могли попытаться назвать это. SuspendLayout (); перед запуском обновления и этого. ResumeLayout (ложь); когда Вы закончили устанавливать все значения таким образом, это должно препятствовать тому, чтобы форма писала значения по одному.
Можно удвоить буфер почти каждый элемент управления Windows Forms, хотя большую часть времени он требует, чтобы Вы наследовались желаемому управлению и переопределили защищенное свойство. Предостерегите, тем не менее, что я провел довольно мало времени по той же проблеме, и я должен все же полностью удалить мерцание на своих более сложных формах.
Если Вы хотите действительно немерцающие окна, я предлагаю смотреть на WPF.
Вы не исследовали это хорошо. В каждой Форме существует свойство DoubleBuffered. Попытайтесь установить это на истинный. Если Вы, havn't перегрузил что-либо на рисовании формы, то все должно работать.
Двоение обычно вызывается, потому что Вы работаете в единственном потоке, и оно держится с полевыми обновлениями, таким образом, событие краски не стреляет. Один способ зафиксировать это состоял бы в том, чтобы поместить тяжелый подъем в асинхронные методы. Это позволит форме перекрашивать себя и обновлять то независимо от того, что необходимо когда они асинхронные вызовы метода назад.
У меня была такая же проблема с OpenGLES, как я нашел этот поток. конечно, я понимаю, что вы не используете ogl, но, возможно, это все равно поможет;)
protected override void OnPaintBackground (PaintEventArgs e)
{
}