سؤال

لقد أجريت قليلاً من البحث ، لكن لم أتمكن من العثور على أي شيء مشابه لما كنت أبحث عنه. أنا مهتم بمعرفة كيفية عرض محتويات مختلفة على الشاشات الثانوية/العالية أو أجهزة العرض باستخدام C#. في الأساس ، ما أرغب في تحقيقه هو أن يكون لديك شكل من أشكال عرض مقدم العرض (PowerPoint) على شاشة معينة (الشاشة الأساسية) ، والإخراج على شاشة أو جهاز عرض ثانوي. لم أحاول أبدًا تطوير شيء ما مع مخرجات عرض متعددة ، لذلك ربما يجب أن تكون أي إرشادات على مستوى واضح إلى حد ما.

إذا تمكن شخص ما من توجيهني في الاتجاه الصحيح حول كيفية التعامل مع هذا النوع من الأشياء في C#، فسيكون ذلك موضع تقدير كبير!

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

المحلول

يمكنك استخدام ال System.Windows.Forms.Screen.AllScreens خاصية للوصول إلى قائمة بجميع شاشات Windows يعرف عنها. إذا كنت تتطلع إلى استخدام شاشة لم يتم تكوينها من قبل المستخدم ، فسيصبح الأمر أكثر صعوبة - ربما تحتاج إلى تهيئة محول العرض والوصول إليه باستخدام DirectX.

نصائح أخرى

فقط للتوسع في إجابة Keven (I +1'd It) ، تمنحك Screen.AllScreens Array مجموعة من كائنات الشاشة. يحتوي كائن الشاشة على خاصية تسمى isprimary ، والتي يمكنك استخدامها لتحديد الشاشة الأساسية ، والتي هي الثانوية (duh) ولديها أيضًا خاصية تسمى WorkerArea ، وهي مستطيل يعيدك إلى دعم جميع الإحداثيات الشاشة الثانية. الشيء الرائع في هذا الأمر هو أنه حتى لو دعنا نقول أن الشاشة الثانوية تم تكوينها لتكون على يسار الأساسي ، فإن WorkerArea.x سيكون رقمًا سالبًا ، ويمكنك وضع النماذج هناك أو أي شيء آخر.

واحدة من الفصول الرئيسية التي ستحتاج إلى التفاعل معها هي شاشة (هذا في مساحة اسم Winforms). بشكل عام ، يتم التعامل مع جميع الشاشات كمجموعة من مناطق العمل التي يمكنك استخدام فئة الشاشة للحصول على خصائص لكل واحدة.

يمكنك الحصول على جميع الشاشات مثل هذا ...

Screen [] screens = Screen.AllScreens;

هنا هو مقال قصير عن القيام برمجة متعددة المراقبة في C#.

تذكر أيضًا تعيين خاصية "startPosition" على "يدوي" على النافذة التي تريد عرضها على الشاشة الثانوية وإلا فإنها ستعرض دائمًا على الشاشة الأساسية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top