Как добавить событие ввода мыши в динамически созданный графический прямоугольник в tabcontrol
Привет, у меня есть tabcontrol, в котором я добавляю tabpages через код. и в этом я добавляю картинку (которая является кнопкой закрытия) в заголовок вкладки.
я использую следующий код, чтобы дать кнопку закрытия заголовку вкладки.
Что я уже пробовал:
<pre> private void TabControl1_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e) { Image img = new Bitmap(Properties.Resources.CCloseBlack16x16,new Size(12,12)); try { Font fnt; Brush backBrush; Brush foreBrush; if (e.Index == this.tabControl1.SelectedIndex) { fnt = new Font(e.Font, FontStyle.Bold | FontStyle.Bold); fnt = new Font(e.Font, FontStyle.Bold); backBrush = new System.Drawing.SolidBrush(Color.FromArgb(16, 128, 128)); // this.tabControl1.SelectedTab.BackColor = Color.FromArgb(16, 128, 128); foreBrush = new SolidBrush(Color.White); } else { fnt = e.Font; backBrush = new SolidBrush(Color.White); foreBrush = new SolidBrush(Color.Black); } string tabName = this.tabControl1.TabPages[e.Index].Text; StringFormat sf = new StringFormat(); sf.Alignment = StringAlignment.Center; e.Graphics.FillRectangle(backBrush, e.Bounds); Rectangle r = e.Bounds; r = new Rectangle(r.X, r.Y + 3, r.Width + 10, r.Height - 0); e.Graphics.DrawString(tabName, fnt, foreBrush, r, sf); e.Graphics.DrawImage(img, new Point(r.X + (this.tabControl1.GetTabRect(e.Index).Width - _imageLocation.X - 5), _imageLocation.Y )); this.tabControl1.SelectedTab.BackColor = Color.FromArgb(16, 128, 128); sf.Dispose(); if (e.Index == this.tabControl1.SelectedIndex) { fnt.Dispose(); backBrush.Dispose(); } else { backBrush.Dispose(); foreBrush.Dispose(); } } catch (Exception) { } }
но мне нужно событие ввода мыши и выхода мыши (в котором я должен дать другое изображение) для этого конкретного изображения, которое я добавил в заголовок вкладки.
пожалуйста, помогите мне решить эту проблему.