本教程介绍如何使用几行代码从头开始创建一个小型文字处理器。它将能够加载和保存文件,使用剪贴板,并具有字符和段落格式的对话框,标尺,状态栏和完整的键盘和鼠标界面。
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等超多在线订购产品优惠券!

标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!