سؤال
في تطبيق WinForms الخاص بي، يمكن طباعة البيانات في العديد من المواقع. في كل مرة يريد المستخدم الطباعة، أقوم بإنشاء مثيل جديد طباعة الطباعة، يتم استخدامه في مهمة الطباعة الحالية ثم التخلص منها. كل شيء يعمل، ولكن يتم تعيين مربع الحوار "طباعة" دائما إلى الطابعة الافتراضية والمعلمات الافتراضية. إذا تم تحديد طابعة أخرى، يجب على المستخدم اختياره في كل مرة مرارا وتكرارا.
هل هو نهج مشترك لإنشاء مثيل طباعة عالمي واحد ومشاركتها في جميع مهام الطباعة Accross التطبيق؟ مثل هذه الطابعة الأخيرة سيتم استخدامها دائما. أم هل هناك أي طرق أخرى؟
شكرا لك، بيتر
المحلول
لماذا لا تنشئ واحدة PrinterSettings
المثال وتمرير ذلك لكل PrintDocument
أن تنشئ بدلا من ذلك؟
نصائح أخرى
يمكنك استخدام نمط Singleton لتحديد مثيل Printersettings أو مثيل طباعة الطباعة بحيث لا يتعين عليك تمرير المرجع حولها.
يرى نمط singleton