如果我在每个选项卡中都有几个带有 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);
}