Тема: TabControl, Додати Control до TabControl
Потрібно зробити можливість закриття вкладки в TabControl за допомогою кнопки у вигляді хрестика
Я хотів у конструкторі створити кнопку
public class CustomTabControl : TabControl
{
ButtonX buttonX = new ButtonX();
public CustomTabControl()
{
SizeMode = TabSizeMode.Normal;
ItemSize = new Size(150, 23);
DrawMode = TabDrawMode.OwnerDrawFixed;
Controls.Add(buttonX);
buttonX.Show();
buttonX.BringToFront();
}
...
У події OnDrawItem відображати її у правильному місці
protected override void OnDrawItem(DrawItemEventArgs e)
{
base.OnDrawItem(e);
if (SelectedTab == TabPages[e.Index])
{
buttonX.Location = SelectedTab.Location;
}
...
Але виникає помилка:
An unhandled exception of type 'System.ArgumentException' occurred in System.Windows.Forms.dll
Additional information: Cannot add 'ButtonX' to TabControl. Only TabPages can be directly added to TabControls.
Якщо не додавати кнопку в Controls "Controls.Add()" то вона не відображається.
Як створити кнопку і розмістити її на вкладці ?
Мені відомо що вже є готові рішення наприклад EasyTabs, але цікаво було б самому це зробити.