我有几个TabPages,每个都包含富文本框.如何在选定的选项卡上访问richtechbox?
TabPage selectedTab = tabControl.SelectedTab;
RichTextBox selectedRtb = selectedTab.Controls.Find("rtb", true).First() as RichTextBox;
Run Code Online (Sandbox Code Playgroud)
这是我尝试但没有运气.
添加:
这是使用richtextbox控件添加标签页的方式
TabPage newTab = new TabPage(name);
RichTextBox rtb = new RichTextBox();
rtb.Dock = DockStyle.Fill;
rtb.BorderStyle = BorderStyle.None;
rtb.Text = file.Data;
newTab.Controls.Add(rtb);
tabControl.TabPages.Add(newTab);
tabControl.SelectedTab = newTab;
Run Code Online (Sandbox Code Playgroud)
如果这是WinForms,它只会是:
if (selectedTab.Controls.ContainsKey("rtb"))
RichTextBox selectedRtb = (RichTextBox)selectedTab.Controls["rtb"];
Run Code Online (Sandbox Code Playgroud)
如果rtb是RichTextBox控件的名称.
创建控件时,请为其添加名称:
RichTextBox rtb = new RichTextBox();
rtb.Name = "rtb";
Run Code Online (Sandbox Code Playgroud)
您的方法不起作用的原因是您试图通过使用控件的 name 属性来查找它。
查看您的代码,您没有设置该Name
属性。如果您可以提前生成已知名称,则可以在查找控件时使用它。
你也可以试试这个:
var rtb = tabControl.SelectedTab.Controls.Cast<Control>()
.FirstOrDefault(x => x is RichTextBox);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16191 次 |
最近记录: |