Я создаю пользовательский элемент управления внутри элемента управления вкладками, который содержит потокLayoutPanel на каждой вкладке, перетаскивая файлы на выбранную вкладку. У меня есть контекстное меню для переименования и удаления страниц вкладок, но я также хочу иметь возможность удалить кнопку, созданную, когда я щелкаю по ней правой кнопкой мыши и выбираю «удалить»... Я не могу найти способ удалить только выбранную кнопку. .
Вот что мне нужно для создания кнопок:
public void Form1_DragDrop(object sender, DragEventArgs e)
{
string[] fileList = e.Data.GetData(DataFormats.FileDrop) as string[];
foreach (string s in fileList)
{
var button = new Button();
path_app = String.Format("{0}", s);
string filename = path_app;
file_name = Path.GetFileName(path_app);
Icon icon = System.Drawing.Icon.ExtractAssociatedIcon(filename);
Bitmap bmp = icon.ToBitmap();
CustomControl custom_btn = new CustomControl(button, new Label { Text = file_name });
button.Tag = path_app;
button.BackgroundImage = bmp;
button.BackgroundImageLayout = ImageLayout.Stretch;
FlowLayoutPanel selectedFLP = (FlowLayoutPanel)tabControl1.SelectedTab.Controls[0];
selectedFLP.Controls.Add(custom_btn);
button.Click += new EventHandler(button_Click);
ContextMenu cm2 = new ContextMenu();
cm2.MenuItems.Add("Remove", new EventHandler(rmv_btn_click));
custom_btn.ContextMenu = cm2;
}
}
private void rmv_btn_click(object sender, System.EventArgs e)
{
foreach (Control X in fl_panel.Controls)
{
fl_panel.Controls.Remove(X);
}
}
Как мне получить кнопку, которую я щелкаю правой кнопкой мыши в качестве отправителя в событии rmv_btn_click, чтобы узнать, какую из них удалить?