本教程演示如何在WinForms c#应用程序中使用LEADTOOLS SDK的自动注释特性主题是
控制。
概述 | |
---|---|
总结 | 本教程介绍使用文档查看器在c# WinForms应用程序中自动注释的特性。 |
完成时间 | 30分钟 |
Visual Studio项目 | 下载教程项目(9kb) |
平台 | WinForms c#应用程序 |
IDE | Visual Studio 2017, 2019 |
开发许可 | 下载LEADTOOLS |
在开始绘制和编辑文档注释- WinForms c#教程,通过复习熟悉创建项目的基本步骤添加引用和设置License和在文档查看器中显示文件教程。
中创建的项目的副本开始在文档查看器中显示文件教程。如果项目不可用,请按照该教程中的步骤创建它。
所需的参考资料取决于项目的目的。可以通过以下两种方法中的一种或另一种添加引用(但不能同时添加)。对于这个项目,需要以下参考资料:
如果使用NuGet引用,本教程需要以下NuGet包及其依赖项:
Leadtools.Annotations.WinForms
Leadtools.Document.Sdk
Leadtools.Document.Viewer.WinForms
如果使用本地DLL引用,则需要以下DLL。dll位于< INSTALL_DIR > \ LEADTOOLS21 \ Bin \ Dotnet4 \ x64:
Leadtools.dll
Leadtools.Annotations.Automation.dll
Leadtools.Annotations.Engine.dll
Leadtools.Annotations.WinForms.dll
Leadtools.Caching.dll
Leadtools.Codecs.dll
Leadtools.Controls.WinForms.dll
Leadtools.Document.dll
Leadtools.Document.Pdf.dll
Leadtools.Document.Viewer.WinForms.dll
有关特定格式需要哪些Codec dll的完整列表,请参阅文件格式的支持.
许可证解锁项目所需的特性。它必须在调用任何工具包函数之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License教程。
有两种类型的运行时许可证:
请注意
中更详细地介绍了添加LEADTOOLS NuGet和本地引用以及设置许可证添加引用和设置License教程。
创建了项目、添加了引用、设置了许可证并添加了Document Viewer代码之后,就可以开始编码了。
去Form1.cs
在解决方案资源管理器.右键单击设计窗口并选择视图代码或按F7以显示表单背后的代码。
将以下语句添加到使用
顶部块:
//在顶部使用块
使用Leadtools;
使用Leadtools.Document;
使用Leadtools.Caching;
使用Leadtools.Document.Viewer;
使用Leadtools.Controls;
使用Leadtools.Annotations.Automation;
使用Leadtools.Annotations.WinForms;
将下面的代码添加到InitUI ()
方法来创建包含注释工具栏的面板:
varannToolbarPanel =新面板();
annToolbarPanel。Name =“annToolBarPanel”;
annToolbarPanel。宽度= 200;
annToolbarPanel。码头= DockStyle.Right;
annToolbarPanel。背景色= Color.LightBlue;
annToolbarPanel。边框样式= BorderStyle.FixedSingle;
这.Controls.Add (annToolbarPanel);
在InitDocumentViewer ()
方法,改变createOptions。UseAnnotations
价值真正的
并添加一个呼叫InitAnnotations ()
方法。
varcreateOptions =新DocumentViewerCreateOptions ();
//设置文档查看器显示的UI部分
createOptions。ViewContainer =这.Controls.Find (“docViewerPanel”,假) [0];
//设置缩略图显示的UI部分
createOptions。ThumbnailsContainer =这.Controls.Find (“thumbPanel”,假) [0];
//启用使用注释
createOptions。UseAnnotations=真正的;
//现在创建查看器
是= DocumentViewerFactory.CreateDocumentViewer (createOptions);
/ /初始化的注释
InitAnnotations ();
使用下面的代码InitAnnotations ()
方法,以初始化自动化管理器,创建并填充工具栏,并启用当右击Document Viewer中的注释时显示的上下文菜单。
私人无效InitAnnotations ()
{
//注释工具栏将被添加到这里
varannToolbarPanel =这.Controls.Find (“annToolBarPanel”,真正的) [0];
//从文档查看器中获取自动化管理器
varautomationManager = documentViewer.Annotations.AutomationManager;
//创建管理器helper。这将设置呈现引擎
varautomationManagerHelper =新AutomationManagerHelper (automationManager);
//告诉文档查看器已经创建了自动化管理器助手
documentViewer.Annotations.Initialize ();
//创建工具栏
automationManagerHelper。ModifyToolBarParentVisiblity =真正的;
automationManagerHelper.CreateToolBar ();
varannToolBar = automationManagerHelper.ToolBar;
annToolBar。码头= DockStyle.Fill;
annToolBar。AutoSize =真正的;
annToolBar。边框样式= BorderStyle.None;
annToolBar。外观= ToolBarAppearance.Flat;
annToolbarPanel.Controls.Add (annToolBar);
annToolBar.BringToFront ();
//当用户右键单击注释对象时显示上下文菜单的处理程序
EventHandler
onShowContextMenu = (sender, e) => {
//如果没有单击注释对象
如果(e = =零)
返回;
//获取对象类型
varautomationObject = e.Object作为AnnAutomationObject;
如果(automationObject = =零)
返回;
//将点转换为客户端坐标
varimageview = documentViewer.View.ImageViewer;
var位置= imageViewer.PointToClient (Cursor.Position);
var自动化= documentViewer.Annotations.Automation;
//显示其上下文菜单
var快捷菜单= automationObject。快捷菜单作为ObjectContextMenu;
如果(快捷菜单! =零)
{
快捷菜单。自动化=自动化;
快捷菜单。显示(imageview、位置);
}
};
//显示对象属性对话框的处理器
EventHandler
onShowObjectProperties = (sender, e) => {
//从文档查看器中获取自动化对象
使用(vardlg =新AutomationUpdateObjectDialog ())
{
了解地理。用户名= documentViewer.UserName;
了解地理。自动化=发送方作为AnnAutomation;
了解地理。ShowDialog (这);
e.Cancel = ! dlg.IsModified;
}
};
//使用操作事件处理额外的注释
主题是。操作+= (sender, e) =>
{
开关(e.Operation)
{
情况下DocumentViewerOperation。LoadingAnnotations:
//加载时禁用包含工具栏的面板,完成后启用
annToolbarPanel。启用= e.IsPostOperation;
打破;
情况下DocumentViewerOperation。CreateAutomation:
如果(e.IsPostOperation)
{
对象已创建,请使用它来执行没有由
//默认为文档查看器
//我们将处理显示上下文菜单时,用户右键单击一个对象,当他们
/ /选择属性
documentViewer.Annotations.Automation.OnShowContextMenu + = onShowContextMenu;
documentViewer.Annotations.Automation.OnShowObjectProperties + = onShowObjectProperties;
}
打破;
情况下DocumentViewerOperation。DestroyAutomation:
如果(e.IsPostOperation !)
{
//自动化即将被摧毁,删除我们使用的所有事件
documentViewer.Annotations.Automation.OnShowContextMenu - = onShowContextMenu;
documentViewer.Annotations.Automation.OnShowObjectProperties - = onShowObjectProperties;
}
打破;
默认的:
打破;
}
};
}
通过按运行项目F5,或选择调试->开始调试.
如果正确地遵循了这些步骤,应用程序就会运行,并且可以选择工具栏上的任何注释来绘制加载的文档。下图显示了文档查看器,注释工具栏位于查看器的右侧。
本教程演示如何使用AutomationManager
,AutomationManagerHelper
而且AnnAutomation
类的主题是
控件绘制和编辑自动注释。