我正在使用 Visual Studio 中的 Windows 窗体为旅行指南设置应用程序。
在某些形式中,有一个richTextBox,其中包含联系信息和就餐地点的描述。在右上角,有一个带有导出图标的按钮,用户可以将信息导出到 txt 文件。我想要做的是:如果用户在按下按钮时没有突出显示任何文本,则将导出 textBox 的所有内容。另一方面,如果他突出显示了一些文本,则只会导出选定的文本。这是代码:
private void Button4_Click(object sender, EventArgs e)
{
SaveFileDialog fd = new SaveFileDialog();
if (fd.ShowDialog() == DialogResult.OK)
{
string FileName = fd.FileName;
fs = new FileStream(FileName, FileMode.Create, FileAccess.Write);
byte[] bytext;
if(richTextBox1.SelectedText.Length == 0)
{
bytext = System.Text.Encoding.UTF8.GetBytes(richTextBox1.Text);
}
else
{
bytext = System.Text.Encoding.UTF8.GetBytes(richTextBox1.SelectedText);
}
fs.Write(bytext, 0, bytext.Length);
fs.Close();
}
代码按预期工作,唯一的问题是:当用户突出显示某些文本时,将其导出,然后在没有突出显示文本的情况下再次按下导出按钮。然后,不是导出整个文本,而是仅导出先前突出显示的文本。所以我想将 SelectedText 的值重置为空字符串。我尝试了richTextBox1.Selected.Text = ""; 但它不起作用。我怎样才能做到这一点?