не найти хорошее объяснение о том, что на самом деле основное различие между этими двумя методами Control.SuspendLayout
и BeginUpdate
(обычно наблюдаемым на контрольных списков, как ListView
, ComboBox
, ListBox
и т.д.), кроме того, что они оба улучшить представление.разница между SuspendLayout и BeginUpdate
Из того, что я понимаю:
они оба приостановить рисунок, пока все элементы для отображения загружены, и перекрашивать после этого.
обычно
SuspendLayout
вызывается, когда элементы управления добавляются к элементам управления контейнеров, какPanel
,GroupBox
и т.д., в то время какBeginUpdate
используется для добавления элементов управления, не как объекты для отображения элементов управления, какListBox
.
Но почему существуют два звонка, когда они делают то же самое? Или что они делают по-другому?
Аналогичным образом существует ResumeLayout
и EndUpdate
эквивалентов.
Хммм, так что возникает вопрос, почему существует 'SuspendLayout' на элементах управления без контейнера, таких как списки и кнопки, которые не выполняют операцию макета. Я думаю, что это виртуальный метод, который не переопределяется или не реализуется в дочерних классах, таких как ListBox, и ничего не делает. – nawfal