从选项卡控件保存富文本框



如果我在每个选项卡中都有几个带有 richTextBoxe 的选项卡,如何在所选选项卡中保存特定的 richTextBox?该应用程序是一个文本编辑器,当我尝试将 richTextBox 的文本保存在所选选项卡中时,我的应用程序无法访问所选选项卡中的 richTextBox 中的文本。我该怎么做?我搜索了很多。但是没有找到答案!!谢谢!

您可以将映射保存在字典中。

Dictionary<TabPage, RichTextBox> richTextBoxs = new Dictionary<TabPage, RichTextBox>
                                   {
                                       {tabPage1, richTextBox1}, 
                                       {tabPage2, richTextBox2}
                                   };

并访问字典以获取腐蚀的富文本框。

private void button1_Click(object sender, EventArgs e)
{
      RichTextBox richTextBox = richTextBoxs[tabControl1.SelectedTab];
      label1.Text = richTextBox.Text;
}

编辑

考虑到您必须将文本保存到文件中,这是一个更新的代码。

richTextBoxs = new Dictionary<TabPage, Tuple<RichTextBox, StreamWriter>>
                                   {
                                       {tabPage1, new Tuple<RichTextBox, StreamWriter>(richTextBox1, new StreamWriter("1.txt"))}, 
                                       {tabPage2, new Tuple<RichTextBox, StreamWriter>(richTextBox2, new StreamWriter("2.txt"))}
                                   };

并在单击按钮时保存到文件

private void button1_Click(object sender, EventArgs e)
{
    var tpl = richTextBoxs[tabControl1.SelectedTab];
    tpl.Item2.Write(tpl.Item1.Text);
}

最新更新