У меня есть tabcontrol, который может создавать новые и закрывать текущие вкладки.Внутри вкладок находится пользовательский элемент управления, в котором находится элемент управления scintillaNET.
Когда у меня есть любое количество вкладок, созданных без их закрытия, методы Cut / Copy / Paste работают нормально.Однако, если закрываются все вкладки, кроме одной, а затем создаются новые, эти методы больше не работают на новых вкладках.
т.е. я открываю 10 вкладок, метод работает.Затем я закрываю вкладку 1-9, оставляя вкладку 10. Затем я создаю 3 новые вкладки.Методы больше не работают.
Соответствующий код:
public partial class frmMain : Form
{
//scintillaControl is the user control
List<scintillaControl> controls = new List<scintillaControl>();
private void NewTab() //called when 'New File is pressed'
{
scintillaControl newsc = new scintillaControl();
newsc.Dock = DockStyle.Fill;
controls.Add(newsc);
TabPage newTab = new TabPage();
newTab.Controls.Add(newsc);
tabCtrl.TabPages.Add(newTab);
}
private void CutMethod()
{
int selectedTab = tabCtrl.SelectedIndex;
scintillaControl sc = controls[selectedTab];
sc.txtEditor.Cut();
}
}
Я думаю, что это как-то связано с тем, что tabCtrl.SelectedIndex портится, когда вкладки закрываются и открываются новые.При необходимости я могу опубликовать код закрывающей вкладки.