Нельзя просто добавить элемент управления в ToolStrip
, ContextStrip
или StatusStrip
.
. Он должен наследоваться от ToolStripItem .
Хотя есть простой способ сделать это:
ImageButton imageButton1 = new ImageButton();
var host = new ToolStripControlHost(imageButton1);
toolstrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {host});
или лучше, расширить класс ToolStripControlHost
как:
public class ImageButtonItem: ToolStripControlHost
{
private ImageButton imgButton;
public ImageButtonItem()
: base(new ImageButton())
{
this.imgButton = this.Control as ImageButton;
}
// Add properties, events etc. you want to expose...
}
следуйте этому MSDN howto для получения дополнительной информации.
PS
Вы также можете показать свой пользовательский ImageButtonItem
в конструкторе, добавив атрибут ToolStripItemDesignerAvailability
в свой класс ImageButtonItem
.