Comment

Comment class

يمثل حاوية لنص تعليق.

public sealed class Comment : InlineStory

المنشئون

اسم وصف
Comment(DocumentBase) يقوم بتهيئة مثيل جديد لملف تعليق فئة .
Comment(DocumentBase, string, string, DateTime) يقوم بتهيئة مثيل جديد لملف تعليق فئة .

الخصائص

اسم وصف
Ancestor { get; } إرجاع كائن التعليق الأصل. إرجاع فارغ لتعليقات المستوى الأعلى.
Author { get; set; } إرجاع أو تعيين اسم المؤلف للتعليق.
ChildNodes { get; } يحصل على جميع العقد الفرعية الفورية لهذه العقدة.
Count { get; } الحصول على عدد الأطفال المباشرين لهذه العقدة.
CustomNodeId { get; set; } يحدد معرف العقدة المخصص .
DateTime { get; set; } الحصول على تاريخ ووقت عمل التعليق.
virtual Document { get; } الحصول على المستند الذي تنتمي إليه هذه العقدة .
Done { get; set; } الحصول على أو تعيين إشارة تشير إلى أنه تم وضع علامة “تم” على التعليق .
FirstChild { get; } الحصول على الطفل الأول للعقدة .
FirstParagraph { get; } الحصول على الفقرة الأولى في القصة .
Font { get; } يوفر الوصول إلى تنسيق الخط الخاص بحرف الارتساء لهذا الكائن.
HasChildNodes { get; } إرجاع صحيح إذا كانت هذه العقدة بها أي عقد فرعية.
Id { get; } الحصول على معرف التعليق.
Initial { get; set; } إرجاع أو تعيين الأحرف الأولى للمستخدم المرتبط بتعليق محدد.
override IsComposite { get; } إرجاع صحيح لأن هذه العقدة يمكن أن تحتوي على عقد فرعية.
IsDeleteRevision { get; } إرجاع صحيح إذا تم حذف هذا الكائن في Microsoft Word أثناء تمكين تعقب التغييرات.
IsInsertRevision { get; } إرجاع صحيح إذا تم إدراج هذا الكائن في Microsoft Word أثناء تمكين تعقب التغييرات.
IsMoveFromRevision { get; } عوائد حقيقي إذا تم نقل (حذف) هذا الكائن في Microsoft Word أثناء تمكين تعقب التغييرات.
IsMoveToRevision { get; } عوائد حقيقي إذا تم نقل هذا الكائن (إدراجه) في Microsoft Word أثناء تمكين تعقب التغيير.
LastChild { get; } الحصول على آخر تابع للعقدة .
LastParagraph { get; } الحصول على آخر فقرة في القصة .
NextSibling { get; } يحصل على العقدة التي تلي هذه العقدة مباشرة.
override NodeType { get; } عوائد NodeType.Comment .
Paragraphs { get; } الحصول على مجموعة من الفقرات التي تمثل الأطفال المباشرين للقصة.
ParentNode { get; } الحصول على الأصل المباشر لهذه العقدة.
ParentParagraph { get; } استرداد الأصلParagraph من هذه العقدة.
PreviousSibling { get; } يحصل على العقدة التي تسبق هذه العقدة مباشرة.
Range { get; } إرجاع أ نطاق الكائن الذي يمثل جزء المستند الموجود في هذه العقدة.
Replies { get; } إرجاع مجموعة منComment الكائنات التي هي تابعة مباشرة للتعليق المحدد.
override StoryType { get; } عوائد نوع القصة .
Tables { get; } الحصول على مجموعة من الجداول التي تمثل الأطفال المباشرين للقصة.

طُرق

اسم وصف
override Accept(DocumentVisitor) يقبل الزائر .
AddReply(string, string, DateTime, string) لإضافة رد على هذا التعليق.
AppendChild(Node) يضيف العقدة المحددة إلى نهاية قائمة العقد الفرعية لهذه العقدة .
Clone(bool) لإنشاء نسخة مكررة من العقدة .
CreateNavigator() محجوز لاستخدام النظام. IXPathNavigable.
EnsureMinimum() إذا لم يكن الطفل الأخير فقرة ، فسيتم إنشاء وإلحاق فقرة واحدة فارغة.
GetAncestor(NodeType) يحصل على أول سلف محددNodeType .
GetAncestor(Type) الحصول على الأصل الأول لنوع الكائن المحدد.
GetChild(NodeType, int, bool) إرجاع العقدة الفرعية رقم N التي تطابق النوع المحدد.
GetChildNodes(NodeType, bool) إرجاع مجموعة مباشرة من العقد الفرعية التي تطابق النوع المحدد.
GetEnumerator() يوفر دعمًا لكل تكرار نمط على العقد التابعة لهذه العقدة .
override GetText() يحصل على نص هذه العقدة وجميع توابعها.
IndexOf(Node) إرجاع فهرس العقدة الفرعية المحددة في مصفوفة العقدة الفرعية.
InsertAfter(Node, Node) يدخل العقدة المحددة مباشرة بعد العقدة المرجعية المحددة.
InsertBefore(Node, Node) يقوم بإدراج العقدة المحددة مباشرة قبل العقدة المرجعية المحددة.
NextPreOrder(Node) الحصول على العقدة التالية وفقًا لخوارزمية اجتياز الشجرة بالطلب المسبق.
PrependChild(Node) يضيف العقدة المحددة إلى بداية قائمة العقد الفرعية لهذه العقدة .
PreviousPreOrder(Node) الحصول على العقدة السابقة وفقًا لخوارزمية اجتياز الشجرة بالطلب المسبق.
Remove() يزيل نفسه من الأصل.
RemoveAllChildren() يزيل كافة العقد التابعة للعقدة الحالية.
RemoveAllReplies() يزيل كافة الردود على هذا التعليق.
RemoveChild(Node) يزيل العقدة الفرعية المحددة .
RemoveReply(Comment) إزالة الرد المحدد على هذا التعليق.
RemoveSmartTags() يزيل الكلSmartTag العقد التابعة للعقدة الحالية.
SelectNodes(string) تحديد قائمة بالعقد المطابقة لتعبير XPath.
SelectSingleNode(string) تحديد العقدة الأولى التي تطابق تعبير XPath.
SetText(string) هذه طريقة ملائمة تسمح لك بتعيين نص التعليق بسهولة.
ToString(SaveFormat) يصدر محتوى العقدة إلى سلسلة بالتنسيق المحدد.
ToString(SaveOptions) يصدر محتوى العقدة إلى سلسلة باستخدام خيارات الحفظ المحددة.

ملاحظات

التعليق هو تعليق توضيحي يتم ربطه بمنطقة من النص أو إلى موضع في النص. يمكن أن يحتوي التعليق على كمية عشوائية من محتوى مستوى الحظر.

اذا كانComment يحدث من تلقاء نفسه ، يتم ربط التعليق بـ موضعComment هدف.

لإرساء تعليق بمنطقة من النص ، يلزم وجود ثلاثة عناصر:Comment ، CommentRangeStart وCommentRangeEnd تحتاج جميع الكائنات الثلاثة إلى مشاركة نفس Id القيمة.

Comment هي عقدة ذات مستوى مضمن ويمكن أن تكون تابعة فقط لـParagraph.

Comment يمكن أن تحتويParagraph وTable العقد الفرعية.

أمثلة

يوضح كيفية إضافة تعليق إلى فقرة.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Write("Hello world!");

Comment comment = new Comment(doc, "John Doe", "JD", DateTime.Today);
builder.CurrentParagraph.AppendChild(comment);
builder.MoveTo(comment.AppendChild(new Paragraph(doc)));
builder.Write("Comment text.");

Assert.AreEqual(DateTime.Today, comment.DateTime);

// في Microsoft Word ، يمكننا النقر بزر الماوس الأيمن فوق هذا التعليق في نص المستند لتحريره أو الرد عليه. 
doc.Save(ArtifactsDir + "InlineStory.AddComment.docx");

يوضح كيفية إضافة تعليق إلى مستند ، ثم الرد عليه.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Comment comment = new Comment(doc, "John Doe", "J.D.", DateTime.Now);
comment.SetText("My comment.");

// ضع التعليق في عقدة في نص المستند.
// سيظهر هذا التعليق في موقع فقرته ،
// خارج هامش الجانب الأيمن للصفحة ، وبخط منقط يربطها بالفقرة الخاصة بها.
builder.CurrentParagraph.AppendChild(comment);

// أضف ردًا ، والذي سيظهر تحت التعليق الأصلي.
comment.AddReply("Joe Bloggs", "J.B.", DateTime.Now, "New reply");

// التعليقات والردود كلاهما عقد تعليق.
Assert.AreEqual(2, doc.GetChildNodes(NodeType.Comment, true).Count);

// التعليقات التي لا ترد على التعليقات الأخرى هي "عالية المستوى". ليس لديهم تعليقات أسلاف.
Assert.Null(comment.Ancestor);

// تحتوي الردود على تعليق من مستوى أعلى من سلف.
Assert.AreEqual(comment, comment.Replies[0].Ancestor);

doc.Save(ArtifactsDir + "Comment.AddCommentWithReply.docx");

أنظر أيضا