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