最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用C#實(shí)現(xiàn)記事本的功能的示例代碼

 更新時(shí)間:2023年12月08日 08:51:24   作者:十七個(gè)遠(yuǎn)方在遠(yuǎn)方  
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)簡(jiǎn)單的記事本的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

知識(shí)點(diǎn):

openFileDialog1 是一個(gè) Windows 窗體應(yīng)用程序中的控件,用于實(shí)現(xiàn)文件選擇對(duì)話(huà)框的功能。它是 System.Windows.Forms.OpenFileDialog 類(lèi)的一個(gè)實(shí)例。

OpenFileDialog 控件允許用戶(hù)瀏覽文件系統(tǒng)并選擇要打開(kāi)的文件。它提供了一些屬性和方法,用于設(shè)置和控制文件選擇對(duì)話(huà)框的外觀(guān)和行為。

在代碼中,openFileDialog1 是一個(gè)在窗體設(shè)計(jì)器中創(chuàng)建的 OpenFileDialog 控件的實(shí)例。通過(guò)對(duì)該控件的屬性進(jìn)行設(shè)置,可以定義打開(kāi)文件對(duì)話(huà)框的初始目錄、可顯示的文件類(lèi)型等。

他有以下的屬性和方法:

屬性:

  • InitialDirectory:獲取或設(shè)置打開(kāi)文件對(duì)話(huà)框的初始目錄。
  • Filter:獲取或設(shè)置打開(kāi)文件對(duì)話(huà)框可以顯示的文件類(lèi)型。
  • FileName:獲取或設(shè)置用戶(hù)選擇的要打開(kāi)的文件的全路徑。
  • Multiselect:獲取或設(shè)置一個(gè)值,指示是否允許選擇多個(gè)文件。
  • Title:獲取或設(shè)置打開(kāi)文件對(duì)話(huà)框的標(biāo)題。
  • CheckFileExists:獲取或設(shè)置一個(gè)值,指示是否檢查用戶(hù)輸入的文件是否存在。
  • CheckPathExists:獲取或設(shè)置一個(gè)值,指示是否檢查用戶(hù)輸入的路徑是否存在。

方法:

ShowDialog:顯示打開(kāi)文件對(duì)話(huà)框,并等待用戶(hù)選擇文件。返回一個(gè) DialogResult 值,表示用戶(hù)的操作結(jié)果。

OpenFile:打開(kāi)用戶(hù)選擇的文件,并返回一個(gè) Stream 對(duì)象,用于讀取文件的內(nèi)容。

int index = filename.LastIndexOf(@"\");

LastIndexOf 方法用于查找指定字符或字符串在字符串中最后一次出現(xiàn)的位置。

@"\" 表示反斜杠字符 \,在 C# 中需要使用 @ 符號(hào)來(lái)表示字符串中的轉(zhuǎn)義字符。

filename.LastIndexOf(@"\") 返回最后一個(gè)反斜杠字符 \ 在 filename 字符串中的位置。

index 變量用于存儲(chǔ)最后一個(gè)反斜杠字符的位置。

filename = filename.Substring(index + 1);

Substring 方法用于從字符串中提取子字符串。

index + 1 表示從 index 位置的下一個(gè)字符開(kāi)始提取子字符串。

filename.Substring(index + 1) 返回從 index + 1 位置開(kāi)始到字符串末尾的子字符串。

filename 變量被賦值為提取的文件名(不包括路徑)。

this.Text = filename + "我的記事本";

this.Text 表示當(dāng)前窗口的標(biāo)題欄文本。

filename + "我的記事本" 將提取的文件名與字符串 "我的記事本" 進(jìn)行拼接。

this.Text = filename + "我的記事本" 將拼接后的字符串設(shè)置為窗口的標(biāo)題。

SaveFileDialog 類(lèi)是用于顯示保存文件對(duì)話(huà)框的 Windows 窗體控件。它提供了一些屬性和方法,用于配置和操作保存文件對(duì)話(huà)框的行為和結(jié)果。

以下是 SaveFileDialog 類(lèi)的一些常用屬性和方法:

屬性:

FileName:獲取或設(shè)置保存文件對(duì)話(huà)框中的默認(rèn)文件名。

Filter:獲取或設(shè)置保存文件對(duì)話(huà)框中可以顯示的文件類(lèi)型。

InitialDirectory:獲取或設(shè)置保存文件對(duì)話(huà)框的初始目錄。

Title:獲取或設(shè)置保存文件對(duì)話(huà)框的標(biāo)題。

OverwritePrompt:獲取或設(shè)置一個(gè)值,指示是否在用戶(hù)選擇的文件已存在時(shí)顯示覆蓋提示。

CreatePrompt:獲取或設(shè)置一個(gè)值,指示是否在用戶(hù)輸入的文件名不存在時(shí)顯示創(chuàng)建提示。

DefaultExt:獲取或設(shè)置默認(rèn)的文件擴(kuò)展名。

方法:

ShowDialog():顯示保存文件對(duì)話(huà)框,并返回一個(gè) DialogResult 值,表示用戶(hù)的操作結(jié)果。

Dispose():釋放 SaveFileDialog 對(duì)象使用的資源。

實(shí)現(xiàn)代碼

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace NoteBook45
{
    public partial class Form1 : Form
    {
        bool isFirstSave = true;
        public Form1()
        {
            InitializeComponent();
        }
 
        private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)//暴力新建
        {
            rtxtEdit.Clear();
            this.Text = "無(wú)標(biāo)題-我的記事本";
        }
 
        private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
 
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            this.Text = "無(wú)標(biāo)題-我的記事本";
            rtxtEdit.WordWrap = false;
            自動(dòng)換行ToolStripMenuItem.CheckOnClick = true;
        }
 
        private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)//暴力退出
        {
            Application.Exit();
        }
 
        private void 撤銷(xiāo)ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            rtxtEdit.Undo();
        }
 
        private void 復(fù)制ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (rtxtEdit.SelectedText != "")
                rtxtEdit.Copy();
            else
                MessageBox.Show("沒(méi)有選中任何內(nèi)容,無(wú)法進(jìn)行復(fù)制!");
        }
 
        private void 粘貼ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            rtxtEdit.Paste();
        }
 
        private void 剪切ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (rtxtEdit.SelectedText != "")
                rtxtEdit.Cut();
            else
                MessageBox.Show("沒(méi)有選擇任何內(nèi)容,無(wú)法進(jìn)行剪切!");
        }
 
        private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
        {
 
        }
 
        private void 復(fù)制ToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            復(fù)制ToolStripMenuItem_Click(sender, e);
        }
 
        private void 粘貼ToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            粘貼ToolStripMenuItem_Click(sender, e);
        }
 
        private void 剪切ToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            剪切ToolStripMenuItem_Click(sender, e);
        }
 
        private void toolStripButton新建_Click(object sender, EventArgs e)
        {
            新建ToolStripMenuItem_Click(sender, e);
        }
 
        private void toolStripButton打開(kāi)_Click(object sender, EventArgs e)
        {
 
        }
 
        private void toolStripButton保存_Click(object sender, EventArgs e)
        {
 
        }
 
        private void toolStripButton復(fù)制_Click(object sender, EventArgs e)
        {
            復(fù)制ToolStripMenuItem_Click(sender, e);
        }
 
        private void toolStripButton粘貼_Click(object sender, EventArgs e)
        {
            粘貼ToolStripMenuItem_Click(sender, e);
        }
 
        private void toolStripButton剪切_Click(object sender, EventArgs e)
        {
            剪切ToolStripMenuItem_Click(sender, e);
        }
 
        private void toolStripButton撤銷(xiāo)_Click(object sender, EventArgs e)
        {
            撤銷(xiāo)ToolStripMenuItem_Click(sender, e);
        }
 
        private void 打開(kāi)ToolStripMenuItem_Click(object sender, EventArgs e)//暴力打開(kāi)
        {
            openFileDialog1.InitialDirectory=@"C:\";//設(shè)置打開(kāi)文件對(duì)話(huà)框的初始目錄
            openFileDialog1.Filter = "文本文件(*.txt)|*.TXT";//設(shè)置打開(kāi)文件對(duì)話(huà)框可以顯示的文件類(lèi)型
            openFileDialog1.FileName = "";
            openFileDialog1.ShowDialog();//顯示打開(kāi)文件對(duì)話(huà)框
            string filename = openFileDialog1.FileName;//獲取用戶(hù)選擇的要打開(kāi)的文件的全路徑
            if (filename == "")
                MessageBox.Show("沒(méi)有選中要打開(kāi)的文件!");
            else
            {
                rtxtEdit.LoadFile(filename, RichTextBoxStreamType.PlainText);//以純文本的形式,將文件內(nèi)容加載進(jìn)富文本框
                //c:\my documents\1.txt
                int index = filename.LastIndexOf(@"\");//求最后一個(gè)反斜杠在文件名中的位置
                filename = filename.Substring(index + 1);//求文件名的主文件名和擴(kuò)展名
                this.Text = filename + "我的記事本";
            }
 
        }
 
        private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (isFirstSave)
 {
     另存為T(mén)oolStripMenuItem_Click(sender, e);
         isFirstSave = false;
     }
 else
     rtxtEdit.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.PlainText);
        }
 
        private void 另存為T(mén)oolStripMenuItem_Click(object sender, EventArgs e)
        {
            saveFileDialog1.InitialDirectory = @"c:\";
            saveFileDialog1.Filter = "文本文件(*.txt)|*.TXT";
            saveFileDialog1.FileName = "";
            string filename = "";
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                filename = saveFileDialog1.FileName;
                rtxtEdit.SaveFile(filename, RichTextBoxStreamType.PlainText);
                int index = filename.LastIndexOf(@"\");//求最后一個(gè)反斜杠在文件名中的位置
                filename = filename.Substring(index + 1);//求文件名的主文件名和擴(kuò)展名
                this.Text = filename + "我的記事本";
            }
        }
 
        private void 自動(dòng)換行ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (自動(dòng)換行ToolStripMenuItem.Checked)
                rtxtEdit.WordWrap = true;
            else
                rtxtEdit.WordWrap = false;
        }
 
        private void rtxtEdit_TextChanged(object sender, EventArgs e)
        {
 
        }
    }
}

到此這篇關(guān)于利用C#實(shí)現(xiàn)記事本的功能的示例代碼的文章就介紹到這了,更多相關(guān)C#記事本內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#代碼實(shí)現(xiàn)為PDF文檔添加印章

    C#代碼實(shí)現(xiàn)為PDF文檔添加印章

    為?PDF?文檔添加印章可以增強(qiáng)文檔的視覺(jué)?效果,并傳達(dá)諸如審批、機(jī)密或緊急等重要信息,本文將介紹如何使用?C#?為?PDF?文檔添加印章,感興趣的小伙伴可以了解下
    2026-05-05
  • 基于C#的winform實(shí)現(xiàn)數(shù)字華容道游戲

    基于C#的winform實(shí)現(xiàn)數(shù)字華容道游戲

    這篇文章主要為大家詳細(xì)介紹了基于C#的winform實(shí)現(xiàn)數(shù)字華容道游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C#中Null值處理的終極指南

    C#中Null值處理的終極指南

    這篇文章主要為大家詳細(xì)介紹了C#中Null值處理的相關(guān)方法,主要包括5大運(yùn)算符對(duì)比和30秒消除空引用異常,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-08-08
  • C# 中的委托與事件機(jī)制詳解

    C# 中的委托與事件機(jī)制詳解

    本文詳細(xì)介紹了C#中委托和事件的概念、使用方法和應(yīng)用場(chǎng)景,包括委托定義、匿名方法、Lambda表達(dá)式、事件機(jī)制和多播委托的詳細(xì)說(shuō)明,委托作為類(lèi)型安全的函數(shù)指針,文章還探討了如何通過(guò)匿名方法和Lambda表達(dá)式簡(jiǎn)化委托的使用,以及多播委托在事件處理中的應(yīng)用
    2024-10-10
  • C#中HttpWebRequest、WebClient、HttpClient的使用詳解

    C#中HttpWebRequest、WebClient、HttpClient的使用詳解

    這篇文章主要介紹了C#中HttpWebRequest、WebClient、HttpClient的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • C#使用Spire.PDF for .NET輕松提取PDF圖片

    C#使用Spire.PDF for .NET輕松提取PDF圖片

    PDF文檔作為信息共享和存儲(chǔ)的通用格式,常常包含豐富的圖片內(nèi)容,本文將深入探討如何利用 Spire.PDF for .NET 庫(kù),在C#應(yīng)用程序中實(shí)現(xiàn)PDF圖片的批量提取,感興趣的小伙伴可以了解下
    2025-09-09
  • C#如何安全、高效地玩轉(zhuǎn)任何種類(lèi)的內(nèi)存之Span的本質(zhì)

    C#如何安全、高效地玩轉(zhuǎn)任何種類(lèi)的內(nèi)存之Span的本質(zhì)

    為什么要使用指針,什么時(shí)候需要使用它,以及如何安全、高效地使用它?本文將講清楚 What、How 和 Why ,讓你知其然,更知其所以然
    2021-08-08
  • 優(yōu)雅又實(shí)用的C#代碼優(yōu)化技巧分享

    優(yōu)雅又實(shí)用的C#代碼優(yōu)化技巧分享

    這篇文章主要為大家整理了一些優(yōu)雅又實(shí)用的C#代碼優(yōu)化技巧,文中的示例代碼講解詳細(xì),對(duì)我們深入了解C#有一定的幫助,需要的可以參考一下
    2023-06-06
  • C#實(shí)現(xiàn)自由組合本地緩存、分布式緩存和數(shù)據(jù)查詢(xún)

    C#實(shí)現(xiàn)自由組合本地緩存、分布式緩存和數(shù)據(jù)查詢(xún)

    這篇文章介紹了C#實(shí)現(xiàn)本地緩存、分布式緩存和數(shù)據(jù)查詢(xún)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • C#中String和StringBuilder的簡(jiǎn)介與區(qū)別

    C#中String和StringBuilder的簡(jiǎn)介與區(qū)別

    今天小編就為大家分享一篇關(guān)于C#中String和StringBuilder的簡(jiǎn)介與區(qū)別,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-10-10

最新評(píng)論

潮安县| 平陆县| 云浮市| 上思县| 龙门县| 祥云县| 玉山县| 永城市| 枣阳市| 清徐县| 额尔古纳市| 敖汉旗| 油尖旺区| 宣威市| 永善县| 长岛县| 满洲里市| 攀枝花市| 江西省| 七台河市| 安龙县| 洪洞县| 嘉义市| 苗栗县| 清涧县| 尚义县| 阜南县| 焦作市| 泸水县| 吕梁市| 晴隆县| 南开区| 勐海县| 碌曲县| 红原县| 尤溪县| 信丰县| 农安县| 西昌市| 永寿县| 长葛市|