protected override void OnMaximumSizeChanged()
{
if (IsTextVisible()) {
SizeF tipSize = Graphics.MeasureString
(tipText, tipFont, MaximumSize,
GetInternalStringFormat());
tipSize.Width += triWidth * 2 + 8;
SetRequiredSize(tipSize);
} else {
SetRequiredSize(SizeF.Empty);
}
}