Я пытаюсь сделать блокнот с хромовыми вкладками на нем. У меня есть кнопка «Новая страница» на моей странице. Когда я нажимаю на него, он создает новую вкладку с richtexbox на ней. В richboxes созданы как этотСобытие TextChanged для динамически созданных RichTextBoxes
public void yeni()
{
//create a new tabpage
TabPage newPage = new TabPage("Not-" + (tabControl1.TabPages.Count + 1));
//create a new richtexbox
RichTextBox rtb = new RichTextBox();
int rtbname = tabControl1.TabPages.Count + 1;
rtb.Name = "richTextBox" + rtbname.ToString();
rtb.Anchor = (AnchorStyles.Bottom | AnchorStyles.Right | AnchorStyles.Left | AnchorStyles.Top);
rtb.BorderStyle = BorderStyle.None;
rtb.Width = 778;
rtb.Height = 395;
rtb.Location = new Point(0, 4);
rtb.HideSelection = false;
rtb.Font = new Font("Lucida Console", 9.75f);
rtb.ForeColor = Color.Maroon;
//add rtb to the tabpage
newPage.Controls.Add(rtb);
tabControl1.TabPages.Add(newPage);
//make the new created tab the selected one
tabControl1.SelectedTab = tabControl1.TabPages[tabControl1.TabPages.Count - 1];
//selectedRtb.Text = null;
openFileDialog1.FileName = null;
}
Теперь я создаю RichTextBox и имя этого RTB является RichTextBox * indexofthetabhere *. Поэтому, если я работаю над второй вкладкой, имя rtb будет «richTextBox2». Теперь то, что я пытаюсь сделать, - это то, что я хочу изменить текст для richtextbox на выбранной вкладке. Я получаю выбранный richtextbox с этим кодом здесь.
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
selectedone = "richTextBox" + (tabControl1.SelectedIndex+1).ToString();
selectedRtb = (RichTextBox)tabControl1.SelectedTab.Controls[selectedone];
textBox2.Text = selectedone;
}
Теперь здесь я получаю индекс выбранной вкладки и я получаю RTB имени, то я получаю выбранный RTB как «selectedRtb». Теперь я не могу сделать событие с измененным текстом. Я не знаю, что делать на самом деле. Я тестировал, работал ли над этим кодом, и да, я правильно понимаю имена rtb. Но я не могу их использовать, потому что я не знаю, как это сделать. Спасибо за помощь.
Благодарим за этот ответ – user1767833