كيف "معاينة" إجراءات المستخدم مثل تغيير أو تعديل في GoDiagrams?

StackOverflow https://stackoverflow.com/questions/111744

  •  02-07-2019
  •  | 
  •  

سؤال

  • على GoDiagram نموذج كائن لديه GoDocument.
  • GoViews يكون إشارة إلى GoDocument.
  • إذا كان المستخدم لا أي تعديل على المخططات السطح ، GoDocument.تغير الحدث أثار مع المعلومات ذات الصلة في حالة الحجج.

أود أن يتم إعلامك عند بعض المستخدمين إجراءات يحدث ، لدرجة أنني يمكن أن تمنح مع وحدة تحكم (عدم السماح/إلغاء ذلك إذا دعت الحاجة) ثم مسألة عرض-تحديث أوامر من أن هناك في الواقع تعديل Northwoods GoDiagram الطرف الثالث المكون.
تغير الحدث هو إعلام أن شيئا حدث (الفعل الماضي) - يفعل كل ما سبق في معالج الحدث النتائج في ....(انتظر)...StackOverflowException.(GoDocument.تغير معالج > تحديثات GoDocument > اطلاق جديدة تغير الأحداث..)

لذا السؤال: كيف يمكنني الحصول على BeforeEditing أو BeforeResizing نوع من الإخطار نموذج في GoDiagrams?وقد أي شخص كان يعيش هناك أن تقول الحكاية ؟

هل كانت مفيدة؟

المحلول

JFYI...المكون بائع توصية فرعية و تجاوز الأساليب المناسبة لذلك.تجاوز منطقي CanXXX() طريقة رفع الإلغاء حدث مخصص.إذا كان المشترك ترجع كاذبة ، بكفالة (return false إحباط عمل المستخدم) من CanXXX.لا المدمج في آلية هذا في GoDiagrams.

على سبيل المثال ، يمكنك تحديد CustomView.ObjectResizing الإلغاء هذا الحدث.في تجاوز GoToolResizing.CanStart ، يمكنك رفع هذا الحدث.إذا كان CancelEventArgs.إلغاء الخاصية يصبح صحيحا CanStart() return false.

المصدر http://www.nwoods.com/forum/forum_posts.asp?TID=2745

نصائح أخرى

الحدث الحجج (GoChangedEventArgs) من أجل تغيير حدث له خاصية IsBeforeChanging التي تشير إلى ما إذا كان تغيير الحدث أثير من "RaiseChanging" طريقة (صحيح) أو RaiseChanged (كاذبة).ينبغي أن أقول لكم ما إذا كان قد حدث تغيير حتى الآن, ولكن أنا لا أعرف أي طريقة لإلغائها.

أفضل أستطيع أن أقترح بدلا من التحقق إذا كان يسمح بتغيير وأداء التحقق من ما إذا كان التغيير لا يسمح ، و إذا لم يكن الاتصال "التراجع" الأسلوب على الحجج في تغيير الحدث.لذلك أساسا:

OnChanged(GoChangedEventArgs e)
{
  if(NotAllowed)
  {
    e.Undo();
  }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top