public __ToolStripButton() { (this.InternalElement.style.display as dynamic).display = "table-cell"; //InternalElement.style.width = "auto"; InternalElement.style.padding = "2px"; var InternalElementSpan = new IHTMLSpan().AttachTo(InternalElement); //InternalElementSpan.style.verticalAlign = "baseline"; this.InternalElement.style.font = Control.DefaultFont.ToCssString(); //this.Font = DefaultFont; this.InternalImageChanged += delegate { if (this.InternalImage == null) return; var i = ((__Bitmap)(object)this.InternalImage).InternalImage; // https://developer.mozilla.org/en-US/docs/Web/CSS/vertical-align //i.style.verticalAlign = "baseline"; this.InternalElement.insertBefore( i, InternalElementSpan ); if (this.DisplayStyle == ToolStripItemDisplayStyle.Image) { i.InvokeOnComplete( delegate { InternalElementSpan.Hide(); } ); } }; this.InternalElement.onclick += delegate { this.RaiseClick(); }; this.TextChanged += delegate { InternalElementSpan.innerText = this.InternalText; }; this.InternalAfterSetOwner += delegate { __ToolStrip o = this.Owner; // or contaner? InternalElement.AttachTo(o.InternalElement); }; }