كيفية تعديل استدعاء TaskDialog's Show () لتمنع وإعادة قيمة عند الإغلاق؟
-
26-09-2019 - |
سؤال
أنا أستخدم تطبيق TaskDialog الخاص بـ windowsapicodepack ، لكن يزعجني أنه يتعين عليّ الاستماع إلى معالجات النقر على أزرارها حتى للتطبيقات الأساسية. أرغب في تحويله/لفه بحيث يتم حظر مربع الرسائل القديم حتى يتم إغلاقه ثم إرجاع قيمة بناءً على ما تم القيام به. هل هناك أي شيء يمكنني قراءته للأساسيات حول كيفية القيام بذلك؟ ليس لدي أي فكرة من أين أبدأ ، لأنني لست على دراية بالبرنامج الأسس Win32.
المحلول
في حال كان ذلك يساعد شخصًا ما ، بعد أن اكتشفت بعض القراءة أن مكالمة العرض تمنع بالفعل. من أجل إرجاع قيمة ، قمت بتطبيق فئة قاعدة ExtendedTaskDialog<T>
الذي يحتوي على أ TaskDialog
ويحتوي على مساعد Show(Window)
الطريقة من أجل تعيين الوالد الخاص بـ TaskDialog ، وملخص public T Show(Window)
طريقة. الحوار الفعلي مستمدة من هذا ، وتستمد التعداد الخاص بها لتزويد النوع الأساسي ، مثل MyDialog : ExtendedTaskDialog<MyDialogResult>
. ثم ، داخليا ، MyDialog
"الأزرار" النقر فوق معالجات تعيين النتيجة قبل الاتصال Close
طريقة الداخلية TaskDialog
.