国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

設(shè)計(jì)一種帶工具欄和留言功能的記事本

2014-07-28 05:05王彩霞
電腦知識(shí)與技術(shù) 2014年18期
關(guān)鍵詞:記事本工具欄

摘要:普通記事本是用戶常用的軟件之一,它的功能非常強(qiáng)大。但用它讀文件時(shí),如果要把讀后感當(dāng)成獨(dú)立的文件記錄下來,需要新建記事本文件,不方便以后查找。如果記事本能提供留言功能,可將讀后感存放到留言板,方便以后讀取。該記事本也不提供工具欄和文字顏色的設(shè)置,而工具欄是應(yīng)用程序中必不可少的,它以形象的圖標(biāo)為用戶提供了方便、快捷的操作。為此,該文設(shè)計(jì)一種帶有工具欄和留言功能的記事本,它不僅能夠進(jìn)行文字編輯,字體顏色設(shè)置,自動(dòng)換行,還能對(duì)文件進(jìn)行新建、打開、保存、退出等操作,為用戶使用記事本提供了方便。

關(guān)鍵詞:記事本;工具欄;留言板

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)18-4166-04

Design A Toolbar and Message Functions Notepad

WANG Cai-xia

(College of Electronic Information Engineering, Anhui Business College, Wuhu 241000,China)

Abstract: Ordinary notepad is one of the common software, It is very powerful. But when it is used to read files, If the thoughts as a separate file record, the need for new notepad file, it is not convenient search the file in the future. If the notepad can provide message function, the thoughts store to the message board, to facilitate future reading. This notepad does not provide a toolbar and a text color settings, the toolbar is essential in the application, it provides a convenient, fast operation to the image of the icon for the user. for that reason, This paper design a toolbar and message functions notepad, It can not only make text editing, font color settings, wrap, but also new, open, save, exit and other operations on files, to provide convenience for the users to use notepad.

Key words: notepad;toolbar;message board

目前,類似記事本的文檔編輯器多種多樣,有GridinSoft Notepad,Notepad++,EmEditor,UEStudio,UniRed,xint,win32pad,SkimEdit[1]。其功能也各有千秋,應(yīng)有盡有。有的可以改變字體,改變文字顏色。這些軟件因?yàn)楣δ芴珡?fù)雜,初學(xué)者難以掌握,而且用它們制作的文件比文本編輯器制作的文件要大很多,不方便存儲(chǔ)。相對(duì)于初學(xué)者來說,一個(gè)文本編輯器只需一些簡(jiǎn)單實(shí)用的功能即可。該文依據(jù)這樣的思想,設(shè)計(jì)一種帶工具欄和留言功能的記事本,它不僅能實(shí)現(xiàn)文字的基本編輯功能,如復(fù)制、粘貼、剪切、自動(dòng)換行、顏色、字體等,也能進(jìn)行文件的新建、打開、保存、退出等功能,還提供工具欄和留言功能,為用戶提供方便。

1 功能描述

經(jīng)過調(diào)查、分析,該文設(shè)計(jì)實(shí)現(xiàn)以下功能。

1)可以實(shí)現(xiàn)文件的新建、打開、保存、退出功能。

2)工具欄提供文件的新建、打開、保存、退出、復(fù)制、剪貼、粘貼、清除、全選等功能。

3)實(shí)現(xiàn)字體和顏色、自動(dòng)換行的設(shè)置。

4)能實(shí)現(xiàn)留言和讀取留言功能。

2 界面設(shè)計(jì)和屬性設(shè)置

1)打開VS 2008開發(fā)工具,新建一個(gè)Windows應(yīng)用程序,命名為WinNotepad,其屬性設(shè)置為:Text:多功能記事本 ;StartPosition:CenterScreen ;選擇路徑存盤。

2)在窗體上拖放1個(gè)MenuStrip[2],添加5個(gè)菜單項(xiàng),將其Text屬性分別改為:文件、編輯、格式、留言板、幫助。在文件菜單項(xiàng)下依此添加4個(gè)子菜單項(xiàng),將其Text屬性分別改為:新建、打開、保存、退出,Name屬性分別為:MI_New,MI_Open,MI_Save,MI_Exit。編輯菜單:剪切、復(fù)制、粘貼、全選、刪除,Name屬性分別為:MI_Cut,MI_Copy,MI_Paste, MI_SelectAll,MI_Delete。格式菜單:自動(dòng)換行、字體、顏色,Name屬性分別為:MI_Wrop, MI_Font,MI_Color。留言板菜單:寫留言、讀留言,Name屬性分別為:MI_Write,MI_Read。幫助菜單:關(guān)于記事本。

3)在窗體上拖放1個(gè)ToolStrip[3],命名為toolStrip1,Text:工具欄。在工具欄上依次添加14個(gè)toolStripButton,分別命名為:ts_New、ts_Open、ts_Save、ts_Exit、ts_Cut、ts_Copy、ts_Paste、ts_SelectAll、ts_Delete、ts_Font、ts_Color、ts_Wrop、ts_WriteNote、ts_ReadNote,Text屬性分別為:新建、打開保存、退出、剪切、復(fù)制、粘貼、全選、刪除、字體、顏色、自動(dòng)換行、寫留言、讀留言。并將每個(gè)菜單設(shè)置相對(duì)應(yīng)的快捷鍵,在ShortcutKeys屬性中分別設(shè)置為:Ctrl+N、Ctrl+O、Ctrl+S、Ctrl+W、Ctrl+X、Ctrl+C、Ctrl+V、Ctrl+A、Delte、Ctrl+D、Ctrl+E(寫留言、讀留言不設(shè)置快捷鍵)、并插入相應(yīng)的圖標(biāo),如圖1所示(設(shè)置好屬性后)。endprint

圖 1 多功能記事本界面

4)在窗體最下方拖放1個(gè)statusStrip,命名為statusStrip1,Text:狀態(tài)欄。在狀態(tài)欄添加toolStripStatusLabel,命名為:tss_lbl1,Text: 歡迎使用多功能記事本。

5)在窗體主工作區(qū)拖放1個(gè)richTextBox控件,命名為:rtxt_Notepad,讓它在父容器中??俊=o它加上快捷菜單:拖放1個(gè)contextMenuStrip,命名為:cMS_Cut,Text:快捷菜單,在快捷菜單中添加項(xiàng):剪切、復(fù)制、粘貼、全選、清除,并添加這5項(xiàng)的圖標(biāo)和快捷鍵。選定rtxt_notepad,在其contextMenuStrip屬性中選擇cMS_Cut,讓快捷菜單和控件相關(guān)聯(lián)[4]。

3 代碼編寫

在各菜單下依此雙擊,產(chǎn)生該菜單的Click()事件,我們由易到難寫代碼。

1)編輯菜單

編輯菜單包括:剪切、復(fù)制、粘貼、全選和清除,這幾項(xiàng)代碼非常簡(jiǎn)單,只需調(diào)用控件rtxt_Notepad的相關(guān)事件即可。剪切、復(fù)制、粘貼、全選和清除分別調(diào)用rtxt_Notepad控件自帶的Cut()方法,Copy()方法;Paste()方法,rtxt_Notepad.Cut()方法;SelectAll()方法和Clear()方法。

2)格式菜單

格式菜單包括:字體、顏色、自動(dòng)換行。先從控件中找到“字體對(duì)話框”和“顏色對(duì)話框”拖放到工作區(qū),將fontDialog1的Name屬性改為:fd_Font,將colorDialog1的Name屬性改為:cd_Color代碼如下:

private void MS_Font_Click(object sender, EventArgs e)

{//字體

fd_Font.ShowApply = true;

fd_Font.ShowColor = true;

fd_Font.Font = rtxt_Notepad.Font;

fd_Font.Color = rtxt_Notepad.ForeColor;

if (fd_Font.ShowDialog() == DialogResult.OK)

{rtxt_Notepad.Font = fd_Font.Font;

rtxt_Notepad.ForeColor = fd_Font.Color;

}}

private void MS_Color_Click(object sender, EventArgs e)

{//顏色

cd_Color.AllowFullOpen = true;

if (cd_Color.ShowDialog() == DialogResult.OK)

{ rtxt_Notepad.ForeColor = cd_Color.Color; }

}

private void MS_Worp_Click(object sender, EventArgs e)

{//自動(dòng)換行

if (rtxt_Notepad.WordWrap)

{ rtxt_Notepad.WordWrap = false; }

else

{ rtxt_Notepad.WordWrap = true; }

}

3)留言板菜單

在項(xiàng)目WinNotepad上添加2個(gè)Windows窗體,分別命名為:frmWriteNote、frmReadNote,

圖2 寫留言界面 圖3 讀留言界面

兩個(gè)窗體上均有一個(gè)richTextBox1控件,和2個(gè)Button控件,frmWriteNote窗體中Button1命名為:btnWriteNote、Text:寫留言,richTextBox1的Name屬性改為:rtxt_Write. rmReadNote窗體中Button1命名為:btnReadNote、Text:讀留言,richTextBox1的Name屬性改為:rtxt_Read.如圖2、圖3所示,代碼如下。

private void MI_Write_Click(object sender, EventArgs e)

{frmWriteNote frm = new frmWriteNote();

frm.Show();

}

private void MI_Read_Click(object sender, EventArgs e)

{frmReadNote frm = new frmReadNote();

frm.Show();

}

在窗體frmWriteNote中添加命名空間:using System.IO;在btnWriteNote按鈕下雙擊,產(chǎn)生Click事件:

private void btnWriteNote_Click(object sender, EventArgs e)

{//寫留言

StreamWriter sw = new StreamWriter(@"d:\temp.txt",true );

sw.WriteLine(rtxt_Write .Text );

sw.Flush();

sw.Close();

MessageBox.Show("留言成功","提示");

}

在窗體frmReadNote中添加命名空間:using System.IO;在btnReadNote按鈕下雙擊,產(chǎn)生Click事件:

private void btnReadNote_Click(object sender, EventArgs e)

{//讀留言

StreamReader sr = new StreamReader(@"d:\temp.txt");

rtxt_Read .Text=sr.ReadLine() + "\n";

while (!sr.EndOfStream )

{rtxt_Read.Text+=sr.ReadLine() + "\n";

}sr.Close ();

}

4)文件菜單

文件菜單下包括新建、打開、保存、退出,先對(duì)保存寫代碼,因?yàn)樵谛陆ê屯顺鰰r(shí),我們要判斷文檔是否為空,如果不為空就提示保存,否則新建或退出。先找到“保存對(duì)話框”和“打開對(duì)話框”控件,將其拖放到工作區(qū),Name屬性分別為:sf_dialog,op_dialog,將兩個(gè)控件的Filter屬性都改為:“文本文檔(*.txt)|(*.txt)|所有文檔(*.*)|(*.*)”,這是過濾保存文件和打開文件的類型。主要代碼如下:

private void MI_Save_Click(object sender, EventArgs e)

{//保存

if (sf_dialog.ShowDialog() == DialogResult.OK)

{rtxt_Notepad.SaveFile(sf_dialog.FileName,RichTextBoxStreamType.PlainText);

}}

private void MI_New_Click(object sender, EventArgs e)

{//新建

if (rtxt_Notepad.Text != "")

{if (MessageBox.Show("內(nèi)容不為空,需要保存嗎", "警告", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)

{ //保存(略) 同保存代碼 }

else

{ rtxt_Notepad.Text = ""; }

}}

private void MI_Exit_Click(object sender, EventArgs e)

{//退出

if (rtxt_Notepad.Text != "")

{if (MessageBox.Show("內(nèi)容不為空,需要保存嗎", "警告", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)

{ //保存(略) 同保存代碼

Application.Exit();

}}

else

{ Application.Exit(); }

}

private void MI_Open_Click(object sender, EventArgs e)

{//打開

if (op_dialog.ShowDialog() == DialogResult.OK)

{StreamReader sr = new StreamReader(op_dialog.FileName, Encoding.Default);

rtxt_Notepad.Text = sr.ReadLine() + "\n";

if (!sr.EndOfStream)

{rtxt_Notepad.Text += sr.ReadLine() + "\n";

}sr.Close();

this.Text = op_dialog.FileName;

}}

5)工具欄按鈕和菜單項(xiàng)關(guān)聯(lián)

新建等菜單的代碼在上面已經(jīng)完成,新建按鈕和新建菜單功能相同,代碼也相同,如果不想在新建按鈕下重復(fù)新建菜單的代碼,就必須讓它們相關(guān)聯(lián)。下面以工具欄中新建按鈕為例,說明工具欄各按鈕和對(duì)應(yīng)的菜單項(xiàng)如何相關(guān)聯(lián)。選定新建按鈕ts_New,右擊選擇屬性,在屬性表的事件面板,找到Click事件,在下拉框選中“MI_New_Click”事件,其他的工具按鈕同樣的操作,選定對(duì)應(yīng)的菜單事件即可。

4 運(yùn)行結(jié)果

完成代碼后,按F5調(diào)試,多功能記事本各功能都能正常操作,將寫留言和讀留言窗體運(yùn)行結(jié)果顯示如圖4、圖5所示。

圖4 寫留言運(yùn)行結(jié)果 圖5 讀留言運(yùn)行結(jié)果

5 總結(jié)

本文通過記事本功能的描述,設(shè)計(jì)了工具欄和留言功能,工具欄為操作記事本的用戶提供了方便,留言功能為用戶提供了交

(下轉(zhuǎn)第4192頁)

(上接第4169頁)

互的場(chǎng)所,在設(shè)計(jì)過程中,需要注意工具欄和菜單項(xiàng)的關(guān)聯(lián),以及控件和快捷菜單之間的關(guān)聯(lián)。最后用C#語言進(jìn)行實(shí)現(xiàn),運(yùn)行結(jié)果顯示,各功能均能正常操作。由于篇幅關(guān)系,該文沒有設(shè)計(jì)狀態(tài)欄的具體實(shí)現(xiàn),有狀態(tài)欄的具體實(shí)現(xiàn)會(huì)更好!

參考文獻(xiàn):

[1] 韋建忠.Visual Basic Tex tBox 控件實(shí)現(xiàn)記事本功能的程序設(shè)計(jì)[J].廣西師范學(xué)院學(xué)報(bào):自然科學(xué)版,2007,9(24):94-96.

[2] 解二虎,李俊玲.用VFP程序設(shè)計(jì)帶工具欄的記事本[J].集寧師專學(xué).2008,4(30):62-64.

[3] 歐陽甜子.用C#實(shí)現(xiàn)Windows 記事本功能的程序設(shè)計(jì)[J].軟件導(dǎo)刊,2008(2):56-58.

[4] 谷震離.胡付田,楊喜娟.記事本應(yīng)用程序的開發(fā)與設(shè)計(jì)[J]許昌學(xué)院學(xué)報(bào),2003,3(22):102-105.

猜你喜歡
記事本工具欄
有關(guān)記事本之危險(xiǎn)的提示(節(jié)選)
做個(gè)樹懶記事本
“玩轉(zhuǎn)”西沃白板
小狗記事本
記事本里的信息技術(shù)課
定制主界面 高效用Word
DIY個(gè)性備課夾
輕松DIY:用好IE8瀏覽器中的自定義功能等
以最快的速度為填空題留空