protected override void Dispose(bool disposing) { if (disposing) { if (parent != null) { int index = FindButtonIndex(); if (index != -1) { parent.Buttons.RemoveAt(index); } } } base.Dispose(disposing); }