封装成一个函数,方便使用
时间: 2024-10-22 16:07:54 浏览: 23
将某项功能封装成一个函数,可以提高代码的复用性和组织性。例如,如果你经常需要从 richtextBox 中读取并处理文字,那么可以创建一个专门的函数来完成这个任务,如下所示:
```csharp
using System;
using System.Text;
public delegate void ProcessTextEventHandler(string processedText); // 定义事件委托
public class TextProcessor
{
private readonly RichTextBox richTextBox;
public TextProcessor(RichTextBox richTextBox)
{
this.richTextBox = richTextBox;
}
// 封装函数,按字节分割并处理 richtextBox 内容
public void SplitAndProcessText(ProcessTextEventHandler onProcessedText)
{
try
{
string text = richTextBox.Text;
byte[] bytes = Encoding.UTF8.GetBytes(text);
StringBuilder result = new StringBuilder();
for (int i = 0; i < bytes.Length - 1; i++)
{
result.Append((char)bytes[i]).Append(' ');
}
result.Append((char)bytes[bytes.Length - 1]);
// 触发事件处理程序,传递处理后的文本
onProcessedText?.Invoke(result.ToString());
// 或者在这里直接更新 richtextBox
// richTextBox.AppendText(result.ToString());
}
catch (Exception ex)
{
Console.WriteLine($"Error processing text: {ex.Message}");
}
}
}
// 使用示例
public partial class MainForm : Form
{
private TextProcessor processor;
public MainForm()
{
InitializeComponent();
processor = new TextProcessor(richTextBox1);
// 添加处理器事件监听
processor.SplitAndProcessText(processedText =>
{
textBoxResult.Text = processedText;
});
}
// ...
}
```
现在,每次你想处理 richtextBox 的内容,只需调用 `SplitAndProcessText` 函数即可。你可以根据需求更换 `onProcessedText` 参数中的回调函数,比如改变文本显示位置、发送到网络等。
阅读全文