public void SyncChildren()
{
_selectedIndex = _itemSelect.SelectedIndex;
// If we do not have enough already
if (Count < _imageIndexCount)
{
// Create and add the number extra needed
int create = _imageIndexCount - Count;
for (int i = 0; i < create; i++)
Add(new ViewDrawMenuImageSelectItem(_viewManager, _itemSelect, _triple, this, _needPaint));
}
else if (Count > _imageIndexCount)
{
// Destroy the extra ones no longer needed
int remove = Count - _imageIndexCount;
for (int i = 0; i < remove; i++)
RemoveAt(0);
}
// Tell each item the image it should be displaying
for (int i = 0; i < _imageIndexCount; i++)
{
int imageIndex = i + _imageIndexStart;
ViewDrawMenuImageSelectItem item = (ViewDrawMenuImageSelectItem)this[i];
item.ImageList = _imageList;
item.ImageIndex = imageIndex;
item.Checked = (_selectedIndex == imageIndex);
item.Enabled = _enabled;
}
}