Я создаю несколько пользовательских элементов управления (кнопок) внутри tabControl, который содержит FLP во время выполнения, перетаскивая на него файлы. Я хочу удалить кнопки, когда я щелкаю правой кнопкой мыши по кнопке и в контекстном меню выбираю «Удалить». Мой вопрос: как узнать, какую кнопку щелкнуть правой кнопкой мыши, чтобы удалить?
Как я создаю кнопку:
public void tabControl1_DragDrop(object sender, DragEventArgs e)
{
string[] fileList = e.Data.GetData(DataFormats.FileDrop) as string[];
foreach (string s in fileList)
{
var button = new Button();
CustomControl custom_btn = new CustomControl(button, new Label { Text = file_name, BackColor = Color.Red });
button.Tag = path_app;
FlowLayoutPanel selectedFLP = (FlowLayoutPanel)tabControl1.SelectedTab.Controls[0];
selectedFLP.Controls.Add(custom_btn);
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 tab)
{
//flp_panel.Controls.Remove(sender as Button); - not working because the sender is actually the button "remove" from the context menu..
foreach (Control X in flp_panel.Controls)
{
flp_panel.Controls.Remove(X);
}
}