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

C#編寫一個簡單記事本功能

 更新時間:2017年10月25日 08:36:49   作者:賣畫的作家  
這篇文章主要為大家詳細介紹了C#編寫一個簡單記事本功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C#編寫記事本的具體代碼,供大家參考,具體內(nèi)容如下

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 Notepad
{
 public partial class frmNotepad : Form
 { 
  //****************************************
  /*布爾變量b用于判斷文件是新建的還是從磁盤打開的 true 表示從磁盤打開,false表示文件是新建的,默認值為false*/
  bool b = false;
  /*布爾變量s用于判斷文件是否被保存 true 表示已經(jīng)被保存,false表示未被保存,默認值為true*/
  bool s = true;
  //***********************************

  public frmNotepad()
  {
   InitializeComponent();
   richTextBox1.Text = "";
  }

  //*********************************************** 
  // 多格式文本框的TextChanged事件代碼 
  //************************************************ 
  private void richTextBox1_TextChanged(object sender, EventArgs e)
  {
   //文本框被修改后,設置s為false,表示文件未保存
   s = false;
  }


  //***************************************** 
  // 【文件】菜單各菜單項的單擊代碼 
  //******************************************* 
  //*****************************************
  // 【新建】菜單代碼 
  //*********************************************
  private void 新建NToolStripMenuItem_Click(object sender, EventArgs e)
  {
   //判斷當前文件是否是從磁盤打開,或者新建時文檔不為空,并且文件未被保存
   if(b == true || richTextBox1.Text.Trim() != "")
   {
    //若文件未保存
    if(s == false)
    {
     string result;
     result = MessageBox.Show("文件尚未保存,是否保存?", "保存文件", MessageBoxButtons.YesNoCancel).ToString();
     switch(result)
     {
      case"Yes":
       //若文件是從磁盤打開的
       if(b == true)
       {
        //按文件打開的路徑保存文件
        richTextBox1.SaveFile(sdlgNotepad.FileName);
       }else if(sdlgNotepad.ShowDialog()==DialogResult.OK)
       {
        richTextBox1.SaveFile(sdlgNotepad.FileName);
       }
       s = true;
       richTextBox1.Text = "";
       break;
      case"No":
       b = false;
       richTextBox1.Text = "";
       break;
     }
    }
   }
  }

  //******************************************* 
  // 【保存】菜單代碼 
  //********************************************
  private void 保存SToolStripMenuItem_Click(object sender, EventArgs e)
  {
   //若文件從磁盤打開并且修改了其中內(nèi)容
   if(b == true && richTextBox1.Modified == true)
   {
    richTextBox1.SaveFile(odlgNotepad.FileName);
    s = true;
   }
   else if(b == false && richTextBox1.Text.Trim() != "" &&sdlgNotepad.ShowDialog() == DialogResult.OK)
   {
    //保存文件
    richTextBox1.SaveFile(sdlgNotepad.FileName);
    s = true;
    b = true;
    odlgNotepad.FileName = sdlgNotepad.FileName;
   }
  }

  //********************************************** 
  // 【打開】菜單代碼 
  //************************************************
  private void 打開OToolStripMenuItem_Click(object sender, EventArgs e)
  {
    //判斷當前文件是否是從磁盤打開,或者新建時文檔不為空,并且文件未被保存
   try
   {
    if (b == true || richTextBox1.Text.Trim() != "")
    {
     if (s == false)
     {
      string result;
      result = MessageBox.Show("文件尚未保存,是否保存?", "保存文件", MessageBoxButtons.YesNoCancel).ToString();
      switch (result)
      {
       case "Yes":
        //若文件是從磁盤打開的
        if (b == true)
        {
         //按文件打開的路徑保存文件
         richTextBox1.SaveFile(sdlgNotepad.FileName);
        }
        else if (sdlgNotepad.ShowDialog() == DialogResult.OK)
        {
         richTextBox1.SaveFile(sdlgNotepad.FileName);
        }
        s = true;
        richTextBox1.Text = "";
        break;
       case "No":
        b = false;
        richTextBox1.Text = "";
        break;
      }
     }
    }
    odlgNotepad.RestoreDirectory = true;
    if ((odlgNotepad.ShowDialog() == DialogResult.OK) && odlgNotepad.FileName != "")
    {
     //打開文件
     richTextBox1.LoadFile(odlgNotepad.FileName);
     b = true;
    }
    s = true;
   }
   catch(Exception ex)
   {
     
   }

  }

  //************************************ 
  // 【另存為】菜單代碼 
  //***************************************** 
  private void 另存為AToolStripMenuItem_Click(object sender, EventArgs e)
  {
   if(sdlgNotepad.ShowDialog() == DialogResult.OK)
   {
    richTextBox1.SaveFile(sdlgNotepad.FileName);
    s = true;
   }
  }

  //*************************************** 
  // 【退出】菜單代碼 
  //******************************************
  private void 退出XToolStripMenuItem_Click(object sender, EventArgs e)
  {
   //結(jié)束程序運行
   Application.Exit();
  }

  //************************************ 
  // 【編輯】菜單各菜單項的單擊代碼 
  //********************************************* 
  // 【撤銷】菜單代碼 
  private void 撤消UToolStripMenuItem_Click(object sender, EventArgs e)
  {
   //撤銷操作
   richTextBox1.Undo();
  }

  // 【復制】菜單代碼
  private void 復制CToolStripMenuItem_Click(object sender, EventArgs e)
  {
   //復制
   richTextBox1.Copy();
  }

  // 【剪切】菜單代碼
  private void 剪切TToolStripMenuItem_Click(object sender, EventArgs e)
  {
   //剪切
   richTextBox1.Cut();
  }

  // 【粘貼】菜單代碼
  private void 粘貼PToolStripMenuItem_Click(object sender, EventArgs e)
  {
   //粘貼
   richTextBox1.Paste();
  }

  // 【全選】菜單代碼
  private void 全選AToolStripMenuItem_Click(object sender, EventArgs e)
  {
   //全選
   richTextBox1.SelectAll();
  }

  //************************************* 
  // 【格式】菜單代碼 
  //*************************************** 
  private void 工具TToolStripMenuItem_Click(object sender, EventArgs e)
  {

  }

  // 【自動換行】菜單代碼
  private void 自定義CToolStripMenuItem_Click(object sender, EventArgs e)
  {
   if(自定義CToolStripMenuItem.Checked == false)
   {
    //選中自動換行
    自定義CToolStripMenuItem.Checked = true;
    //設置為自動換行
    richTextBox1.WordWrap = true;
   }
   else
   {
    //未選中自動換行
    自定義CToolStripMenuItem.Checked = false;
    //設置為不自動換行
    richTextBox1.WordWrap = false;
   }
  }

  // 【字體】菜單代碼
  private void 選項OToolStripMenuItem_Click(object sender, EventArgs e)
  {
   fdlgNotepad.ShowColor = true;
   if(fdlgNotepad.ShowDialog() == DialogResult.OK)
   {
    richTextBox1.SelectionColor = fdlgNotepad.Color;
    richTextBox1.SelectionFont = fdlgNotepad.Font;
   }
  }

  //************************************ 
  // 【幫助】菜單代碼 
  //************************************
  // 【關(guān)于】菜單代碼
  private void 關(guān)于AToolStripMenuItem_Click(object sender, EventArgs e)
  {
   MessageBox.Show("wky 編寫", "關(guān)于\"記事本\"", MessageBoxButtons.OK);
  }

  //*************************************** 
  // 計時器控件的Tick事件代碼 
  //************************************
  private void tmrNotepad_Tick(object sender, EventArgs e)
  {
   //獲取系統(tǒng)當前時間,并顯示在狀態(tài)欄中
   tssLbl2.Text = System.DateTime.Now.ToString();
  }

  private void 粘貼PToolStripButton_Click(object sender, EventArgs e)
  {
   richTextBox1.Paste();
  }

  

 }
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C#實現(xiàn)字符串倒序的寫法

    C#實現(xiàn)字符串倒序的寫法

    這篇文章主要為大家詳細介紹了C#實現(xiàn)字符串倒序的多種寫法,以LINQ寫法最為簡潔,感興趣的朋友可以參考一下
    2016-05-05
  • 詳解C#中IAsyncDisposable接口的使用

    詳解C#中IAsyncDisposable接口的使用

    在.NET Core 3.0的版本更新中,官方我們帶來了一個新的接口 IAsyncDisposable,下面小編就來和大家聊聊它的簡單使用吧,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-07-07
  • jQuery結(jié)合C#實現(xiàn)上傳文件的方法

    jQuery結(jié)合C#實現(xiàn)上傳文件的方法

    這篇文章主要介紹了jQuery結(jié)合C#實現(xiàn)上傳文件的方法,涉及C#文件上傳的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04
  • Unity Shader實現(xiàn)2D水流效果

    Unity Shader實現(xiàn)2D水流效果

    這篇文章主要為大家詳細介紹了Unity Shader實現(xiàn)2D水流效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • C#視頻轉(zhuǎn)換類分享

    C#視頻轉(zhuǎn)換類分享

    這篇文章主要為大家分享了C#視頻轉(zhuǎn)換類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 探討Object轉(zhuǎn)為String的幾種簡易形式詳解

    探討Object轉(zhuǎn)為String的幾種簡易形式詳解

    本篇文章是對Object轉(zhuǎn)為String的幾種簡易形式進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • C#程序加密工具.Net?Reactor詳細教程

    C#程序加密工具.Net?Reactor詳細教程

    .Net?Reacto加密工具是一款強大的?.NET?代碼保護和授權(quán)管理系統(tǒng),安全可靠、簡單易用,主要用來幫助開發(fā)人員保護他們的?.NET?軟件產(chǎn)品,本文給大家詳細介紹C#程序加密工具.Net?Reactor教程,感興趣的朋友一起看看吧
    2022-02-02
  • Unity UGUI的GridLayoutGroup網(wǎng)格布局組件使用詳解

    Unity UGUI的GridLayoutGroup網(wǎng)格布局組件使用詳解

    這篇文章主要介紹了Unity UGUI的GridLayoutGroup網(wǎng)格布局組件使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • C#訪問C++動態(tài)分配的數(shù)組指針(實例講解)

    C#訪問C++動態(tài)分配的數(shù)組指針(實例講解)

    下面小編就為大家分享一篇C#訪問C++動態(tài)分配的數(shù)組指針(實例講解),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • 詳談C# 圖片與byte[]之間以及byte[]與string之間的轉(zhuǎn)換

    詳談C# 圖片與byte[]之間以及byte[]與string之間的轉(zhuǎn)換

    下面小編就為大家?guī)硪黄斦凜# 圖片與byte[]之間以及byte[]與string之間的轉(zhuǎn)換。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02

最新評論

土默特右旗| 永丰县| 公安县| 七台河市| 临高县| 文化| 东莞市| 无为县| 儋州市| 八宿县| 蓬安县| 邛崃市| 阳春市| 雷山县| 江永县| 高雄市| 凌海市| 平原县| 滁州市| 平江县| 西峡县| 明水县| 友谊县| 金塔县| 永年县| 邛崃市| 兴安盟| 额尔古纳市| 清原| 榆中县| 双流县| 长春市| 顺义区| 永胜县| 新泰市| 当涂县| 白河县| 泰宁县| 喀喇沁旗| 万盛区| 望城县|