翻譯|使用教程|編輯:況魚杰|2019-06-20 10:31:57.260|閱讀 421 次
概述:本教程介紹如何使用幾行代碼從頭開始創(chuàng)建一個小型文字處理器。它將能夠加載和保存文件,使用剪貼板,并具有字符和段落格式的對話框,標(biāo)尺,狀態(tài)欄和完整的鍵盤和鼠標(biāo)界面。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
TX Text Control .NET for WPF 分標(biāo)準,專業(yè),及企業(yè)三個版本,是一套專業(yè)的文字處理控件,它以可重復(fù)使用控件的形式為程序開發(fā)人員提供了豐富的文字處理功能。TX Text Control .NET for WPF教程是個連載教程,后期會持續(xù)更新,如果有任何疑問都可以在評論留言或者聯(lián)系。
點擊下載TX Text Control .NET for WPF試用版
本節(jié)是TX Text Control .NET for WPF教程的第一節(jié),介紹如何使用幾行代碼從頭開始創(chuàng)建一個小型文字處理器。本節(jié)內(nèi)容分為兩個部分:創(chuàng)建項目和添加菜單欄。
創(chuàng)建項目
啟動Visual Studio .NET,選擇Visual Basic或Visual C#作為項目類型,選擇WPF Application作為模板。
在XAML視圖中,使用DockPanel控件替換Grid,如下面的屏幕截圖所示:
雙擊工具箱中的ButtonBar將其添加到Window。對RulerBar,StatusBar,第二個RulerBar以及最后的TextControl重復(fù)此操作。XAML應(yīng)如下所示:
注意:Visual Studio 2008用戶在XAML中,應(yīng)刪除所有添加元素的Hight和Width屬性。
在Design視圖中使用鼠標(biāo)選擇第二個添加的標(biāo)尺欄rulerBar2,以更改Properties窗口中的屬性。瀏覽DockPanel.Dock屬性并將其更改為Left。
此外,將HorizontalAlignment設(shè)置為Left,將 VerticalAlignment設(shè)置為Stretch。在設(shè)計視圖應(yīng)該是這樣的:
選擇textControl1以在Visual Studio 的Properties窗口中打開它的屬性。查找ButtonBar 屬性并輸入添加的Button Bar的名稱:buttonBar1。
注意:將RulerBar屬性設(shè)置為rulerBar1,將StatusBar設(shè)置為statusBar1,將VerticalRulerBar設(shè)置為rulerBar2。
在XAML中,將Loaded =“textControl1_Loaded”事件處理程序作為參數(shù)添加到TextControl元素,以使該行看起來像這樣:
< my:TextControl Name = “textControl1” Loaded = “textControl1_Loaded” ButtonBar = “buttonBar1” StatusBar = “statusBar1” RulerBar = “rulerBar1” VerticalRulerBar = “rulerBar2” />
右鍵單擊textControl1_Loaded,然后從打開的上下文菜單中選擇Navigate to Event Handler 將以下代碼添加到事件處理程序:
[ C# ] private void textControl1_Loaded(object sender,RoutedEventArgs e) { textControl1.Focus(); }
[ Visual Basic ] private void textControl1_Loaded(ByVal sender As Object,ByVal e As RoutedEventArgs) { TextControl1.Focus }
最后,按F5啟動程序。
添加菜單欄
切換回Design / XAML視圖。在工具箱中,在Controls類別中查找Menu控件,然后雙擊該圖標(biāo)將其插入當(dāng)前窗口。在Properties窗口中,將DockPanel.Dock屬性更改為Top。
在XAML中,重新排列元素,使菜單是DockPanel中的第一個元素,并刪除Width和Height屬性:
直接在XAML中添加條目。用以下XAML代碼替換menu元素:
< Menu Name = “menu1” DockPanel.Dock = “Top” > < MenuItem Header = “_ File” > < MenuItem Header = “Load ...” Click = “MenuItemLoad_Click” /> < MenuItem Header = “Save ...” Click = “MenuItemSave_Click” /> < Separator /> < MenuItem Header = “Exit” Click = “MenuItemExit_Click“ /> < MenuItem Header = “_ Edit” > < MenuItem Header = “Cut” Click = “MenuItemCut_Click” /> < MenuItem Header = “Copy” Click = “MenuItemCopy_Click” /> < MenuItem Header = “Paste” Click = “MenuItemPaste_Click” / > < MenuItem Header = “_ Format” > < MenuItem Header = “Paragraph ...” Click = “MenuItemParagraph_Click” />
在第一個XAML菜單元素Load ...中,單擊MenuItemLoad_Click,選擇Navigate to Event Handler,打開Window的代碼視圖如下。
添加以下代碼:
[ C# ] private void MenuItemLoad_Click(object sender,RoutedEventArgs e) { textControl1.Load(); }
[Visual Basic] Private Sub MenuItemLoad_Click(ByVal sender As Object,ByVal e As RoutedEventArgs) TextControl1.Load End Sub
對所有菜單項重復(fù)此步驟,并將以下代碼添加到代碼視圖中(點擊F5運行程序):
[ C# ] private void MenuItemSave_Click(object sender,RoutedEventArgs e) { textControl1.Save(); } 私人無效MenuItemExit_Click(對象發(fā)送者,RoutedEventArgs?) { 此 .Close(); } private void MenuItemCut_Click(object sender,RoutedEventArgs e) { textControl1.Cut(); } 私人無效MenuItemCopy_Click(對象發(fā)送者,RoutedEventArgsè ) { textControl1.Copy(); } 私人無效MenuItemPaste_Click(對象發(fā)送者,RoutedEventArgs?) { textControl1.Paste(); } 私人無效MenuItemCharacter_Click(對象發(fā)送者,RoutedEventArgs?) { textControl1.FontDialog(); } 私人無效MenuItemParagraph_Click(對象發(fā)送者,RoutedEventArgs?) { textControl1.ParagraphFormatDialog(); }
Cut } Private Sub MenuItemCopy_Click(ByVal sender As Object,ByVal e As RoutedEventArgs){ TextControl1.Copy } Private Sub MenuItemPaste_Click(ByVal sender As Object,ByVal e As RoutedEventArgs){ TextControl1.Paste } Private Sub MenuItemCharacter_Click(ByVal sender As Object,ByVal e As RoutedEventArgs){ TextControl1.FontDialog } Private Sub MenuItemParagraph_Click(ByVal sender As Object,ByVal e As RoutedEventArgs){ TextControl1.ParagraphFormatDialog }
年中活動,優(yōu)惠多多,點擊就可領(lǐng)取 MyEclipse 、.NET Reactor、FastReport .Net、VMProtect等超多在線訂購產(chǎn)品優(yōu)惠券!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn