C#之使用RichTextBox 實現簡單的txt編輯器
設計要求
支援文字的簡單編輯:
支援更換文字的顏色,大小和字型。
支援簡單TXT檔案的開啟和儲存。
支援文字的拷貝,貼上和撤銷等操作。設計
一、設計FileInfo類,儲存文字的顏色、大小和字型,包括每一行的資訊。
二、…實現
讀取RichTextBox的每一行
private void 儲存ToolStripMenuItem_Click(object sender, EventArgs e)
{
//如果檔案以及
try
{
//檔案路徑
string path = string.Empty;
SaveFileDialog save = new SaveFileDialog();
save.Filter = "文字檔案(*.txt)|*.txt"; ;
if (save.ShowDialog() == DialogResult.OK)
path = save.FileName;
if (path != string.Empty)
{
File.Delete(path);
StreamWriter sw = new StreamWriter(path, true);
for (int i = 0; i < richTextBox1.Lines.Length; i++)
{
sw.WriteLine(richTextBox1.Lines[i]);
}
sw.Flush();
sw.Close();
sw.Dispose();
}
}
catch (Exception ex)
{
throw ex;
}
}
}
從txt檔案中一行行讀取,賦予RichTextBox
private void 開啟ToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog fileDialog = new OpenFileDialog();
//限定擴充套件
fileDialog.Filter = "文字檔案(*.txt)|*.txt";
fileDialog.Multiselect = true;
fileDialog.Title = "請選擇檔案";
if (fileDialog.ShowDialog() == DialogResult.OK)
{
string path = fileDialog.FileName;
MessageBox.Show("已選擇檔案:" + path, "選擇檔案提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
FileStream file = File.Open(path, FileMode.Open);
StreamReader filestream = new StreamReader(file);
String line = "";
int i = 0;
while ((line = filestream.ReadLine()) != null)
{
richTextBox1.Text += line + "\n";
}
file.Close();
}
}
注意
//判斷檔案是否存在
if (File.Exists(path))
{
DialogResult dr = MessageBox.Show("確認覆蓋原檔案嗎?", "提示", MessageBoxButtons.OKCancel);
if (dr == DialogResult.OK)
{
//刪除原檔案
File.Delete(path);
}
else if (dr == DialogResult.Cancel)
{
return;
}
}
原來以為這個覆蓋判斷要自己去實現,但是Windows系統自己實現了。
更改RichTextBox的字型顏色和字型大小
顏色
private void 顏色ToolStripMenuItem_Click_1(object sender, EventArgs e)
{
colorDialog1.ShowDialog();
richTextBox1.SelectionColor = this.colorDialog1.Color;
}
字型和大小
fontDialog1.ShowDialog();
richTextBox1.Font = this.fontDialog1.Font;
接下來是我認為最難的撤銷操作
將在下一篇部落格中詳細介紹
相關文章
- 簡單的低開編輯器(二):實現元件拖拽元件
- xheditor文字編輯器的簡單實用介紹
- 簡單的低開編輯器(三):實現元件畫布內拖拽元件
- 實現一個簡單的在瀏覽器執行Dotnet編輯器瀏覽器
- C#中使用Socket實現簡單Web伺服器C#Web伺服器
- 【自定義使用者控制元件】 wpf 可繫結的RichTextBox 編輯器。控制元件
- AngularJS實現的表單編輯提交功能簡單介紹AngularJS
- iOS使用UITableView實現的富文字編輯器iOSUIView
- 編寫一個非常簡單的 JavaScript 編輯器JavaScript
- 實現一個簡單的 JavaScript 編譯器JavaScript編譯
- C#實現的簡單的隨機抽號器C#隨機
- [HTML編輯器]C#編寫的HTML編輯器:原理篇HTMLC#
- java實現編輯器(一)Java
- c# richtextboxC#
- VUE+Element UI實現簡單的表格行內編輯效果VueUI
- C#實現一個最簡單的HTTP伺服器C#HTTP伺服器
- Quill編輯器實現原理初探UI
- Mac之QuickTimePlayer簡單編輯視訊MacUI
- Android原生簡易圖文編輯器和展示實現Android
- 微影片剪輯編輯器是一款簡單實用的短影片剪輯製作工具
- 超簡單整合!手把手教你實現音訊編輯能力音訊
- HTML 編輯器簡介HTML
- 使用CodeMirror實現Python3線上編輯器Python
- 利用 javascript 實現富文字編輯器JavaScript
- xheditor編輯器上傳功能實現
- monaco-editor 實現SQL編輯器SQL
- c#實現最簡單的socket通訊C#
- c#實現簡單的俄羅斯方塊C#
- Mac簡單易用的照片編輯器——PhotoScape X Pro for MacMac
- VSCode編輯器極簡使用入門VSCode
- Asp.Net Core 使用Monaco Editor 實現程式碼編輯器ASP.NET
- Promise的使用及簡單實現Promise
- 10分鐘實現Typora(markdown)編輯器
- 手把手實現富文字編輯器
- js簡單富文字編輯器效果程式碼例項JS
- 地圖編輯器幾種實現的總結地圖
- 邏輯式程式語言極簡實現(使用C#) - 4. 程式碼實現(完結)C#
- Flutter實戰之實現一個簡單的新聞閱讀器Flutter