TX Text Control教程:采用强大的扩展方法来处理跟踪的变更

本文介绍如何采用强大的扩展方法,把给定的用户名中所有文本部分的跟踪更改删除。

TX Text Control .NET for Windows Forms 是一套功能丰富的文字处理控件,它以可重复使用控件的形式为开发人员提供了Word中常用的文字处理功能,对于需要强大且灵活的文档处理能力的应用程序而言,是理想的选择。 

最新版TX Text Control .NET for Windows Forms   


    在TX Text Control中,可以通过用户文档中的跟踪更改来启用文档协作。 这种方式表示任何人修改文件都会对文档做出改变。拒绝和接受跟踪的变更都需要使用TXTextControl.TrackedChangeCollection.Remove方法从TXTextControl.TrackedChangeCollection中删除特定更改。有时,需要通过给定的用户名从整个文档中删除所有更改。实现这种效果有两种扩展方法。扩展方法使您可以向现有类添加其他功能。 

    以下扩展方法从TrackedChangeCollection中删除所有更改或从所有TextPart中删除所有更改:

namespace TrackedChangeCollectionExtensions    {    public static class TrackedChangeCollectionExtensions    {    // removes all changes in the TrackedChangeCollection with a given username    public static int RemoveAll(    this TXTextControl.TrackedChangeCollection trackdChangeCollection,    string username, bool accept)    {    List myTrackedChanges = new List();    // loop through all changes    foreach (TXTextControl.TrackedChange trackedChange in trackdChangeCollection)    {    if (trackedChange.UserName == username)    myTrackedChanges.Add(trackedChange);    }    // delete all changes    foreach (TrackedChange listedTrackedChange in myTrackedChanges)    trackdChangeCollection.Remove(listedTrackedChange, true);    return myTrackedChanges.Count;    }    // removes all changes in all TextParts with a given username    public static int RemoveAllTrackedChanges(    this TXTextControl.TextPartCollection textPartCollection,    string username, bool accept)    {    // counter    var deletedTrackedChanges = 0;    // loop through all text parts    foreach (IFormattedText textPart in textPartCollection)    {    List myTrackedChanges = new List();    // loop through all changes    foreach (TXTextControl.TrackedChange trackedChange in textPart.TrackedChanges)    {    if (trackedChange.UserName == username)    myTrackedChanges.Add(trackedChange);    }    // delete all changes    foreach (TrackedChange listedTrackedChange in myTrackedChanges)    {    textPart.TrackedChanges.Remove(listedTrackedChange, true);    deletedTrackedChanges++;    }    }    return deletedTrackedChanges;    }    }    }

    例如:为了接受用户development@devteam.com所做的所有更改,只需要输入以下代码:

var removedChanges = textControl1.TrackedChanges.RemoveAll("development@devteam.com", true);

    如果您需要拒绝所有文本部分中的所有更改,包括页眉,页脚,主文本和文本框架,可以使用以下调用:

var  removedChanges  =  textControl1。TextParts。RemoveAllTrackedChanges(“ development@devteam.com ”,false);

    这种方式是从TX Text Control .NET for Windows Forms X16  版本开始的,如果您还没有下载相关版本,可以最新版TX Text Control .NET for Windows Forms 。

    Text Control GmbH公司的文档处理控件功能强大,能帮助您轻松创建能与Microsoft Word功能媲美的应用程序。想要更轻松便捷的完成工作,可以点击查看相关产品:TX Text Control ActiveX   TX Text Control Server for ASP.NET (incl. WPF)   TX Text Control .NET for WPF 。   

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年5月22日
下一篇 2019年5月22日

相关推荐

发表回复

登录后才能评论