0

我正在使用 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 = ""; 但它不起作用。我怎样才能做到这一点?

4

0 回答 0