C#窗体设计文件读写
时间: 2024-12-27 18:11:51 浏览: 4
### C# WinForms 文件读写教程
#### 创建WinForms应用程序并实现文件读取和保存功能
为了创建一个能够执行文件读写的简单Windows Forms应用程序,可以按照以下方式编写代码:
1. **设置项目环境**
首先,在Visual Studio或其他IDE中新建一个C# Windows Forms App (.NET Framework)项目。
2. **设计界面**
在`Form1.cs [Design]`视图下放置两个按钮用于触发文件打开对话框和另存为对话框的操作;另外还需要添加一个多行文本框来展示读入的内容或是待保存的信息。具体控件如下所示:
- `Button btnOpenFile`: 打开文件
- `Button btnSaveFile`: 另存为...
- `RichTextBox rtbContent`: 显示/输入文本区域
3. **编写事件处理程序**
对于上述提到的组件,需要关联相应的点击事件处理器以便于响应用户的交互行为,并完成实际的数据加载与存储逻辑。
```csharp
using System;
using System.IO;
using System.Windows.Forms;
namespace FileReadWriteDemo {
public partial class Form1 : Form {
private string filePath; // 存储当前选中的路径
public Form1() {
InitializeComponent();
this.Text = "简单的文件读写示例";
this.StartPosition = FormStartPosition.CenterScreen;
}
private void BtnOpenFile_Click(object sender, EventArgs e) {
OpenFileDialog openFileDialog = new OpenFileDialog();
if (openFileDialog.ShowDialog() == DialogResult.OK) {
try {
using StreamReader sr = new StreamReader(openFileDialog.FileName);
rtbContent.Text = sr.ReadToEnd(); // 将整个文档内容一次性全部读出到rich text box里
filePath = openFileDialog.FileName;
} catch(Exception ex){
MessageBox.Show($"发生错误:{ex.Message}", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
}
private void BtnSaveFile_Click(object sender, EventArgs e) {
SaveFileDialog saveFileDialog = new SaveFileDialog();
if (!string.IsNullOrEmpty(filePath)) { // 如果之前已经打开了某个具体的文件,则默认建议保存位置为此处
saveFileDialog.InitialDirectory = Path.GetDirectoryName(filePath);
saveFileDialog.FileName = Path.GetFileName(filePath);
}
if (saveFileDialog.ShowDialog() == DialogResult.OK) {
try{
using StreamWriter sw = new StreamWriter(saveFileDialog.FileName);
sw.Write(rtbContent.Text); // 把richtextbox里的所有文字都写出至指定的目标文件内
filePath = saveFileDialog.FileName;
MessageBox.Show("成功保存!", "提示");
}catch(Exception ex){
MessageBox.Show($"发生错误:{ex.Message}", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
}
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
btnOpenFile.Click += BtnOpenFile_Click;
btnSaveFile.Click += BtnSaveFile_Click;
}
}
}
```
此段代码实现了基本的功能需求——允许用户选择本地磁盘上的纯文本文件进行查看,并提供了修改后重新保存的能力。当遇到任何异常情况时会弹窗提醒用户注意[^1]。
阅读全文