سؤال

لدي نموذج قمت بتعيينه تعظيم, ولكن لسبب ما يتجاهل شريط المهام وتعظيم الشاشة بأكملها. هل هذا نموذجي؟ ايوجد اي عمل في هذه المنطقه؟

أقوم بتشغيل نظام التشغيل Windows XP مع إعداد شاشة مزدوج (شريط مهام في النافذة الأول / الأساسي).

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

المحلول 2

شيء واحد تركته من الوصف - لقد قمت بإيقاف تشغيل الزر "تعظيم". عندما اختبرت تشغيل هذه الخاصية مرة أخرى، ظهر شريط المهام مرة أخرى. يبدو أنه يفترض أنه لا تريد زر تعظيم، فأنت تقوم بإنشاء تطبيق على غرار كشك حيث لا تريد أن يرى المستخدمون أي شيء سوى شاشة التطبيق. ليس بالضبط ما أتوقعه، ولكن يعمل أعتقد.

نصائح أخرى

إذا كنت تستخدم FormBorderstyle.none فمن السهل جدا للتأكد من أنه لا يغطي شريط المهام عند تعظيم:

this.MaximumSize = Screen.PrimaryScreen.WorkingArea.Size;

من المحتمل أن يعمل من أجل أساليب حدودية أخرى وربما أنظف طريقة لضمان عدم تغطية النموذج الخاص بك شريط المهام.

قم بتعيين حدود النموذج إلى لا شيء قبل تحقيقه.

سيعمل هذا الرمز في شاشة واحدة:

private void Form1_Load(object sender, EventArgs e)
{
    this.FormBorderStyle = FormBorderStyle.None;
    this.WindowState = FormWindowState.Maximized;
}

لم أختبر سيناريو الشاشة المزدوجة لأنني لا أملك هذا في هذه اللحظة. : P.

تعديل: لم أحصل عليه " يتجاهل شريط المهام ". ماذا يفعل يتجاهل تعني؟

هل تريد أن تغطي النموذج الخاص بك شريط المهام وملء الشاشة بأكملها؟

إذا كنت لا ترغب في إعادة تمكين الزر "تعظيم"، فيمكنك ضبط حجم النافذة يدويا:

private void Maximize()
{
    Screen screen = Screen.FromPoint(this.Location);
    this.Size = screen.WorkingArea.Size;
    this.Location = Point.Empty;
}

(العمل هو مجال الشاشة التي يمكن استخدامها من قبل التطبيقات، باستثناء شريط المهام وأشرطة الأدوات الأخرى)

شيء واحد تركته من الوصف - لقد قمت بإيقاف تشغيل الزر "تعظيم". عندما اختبرت تشغيل هذه الخاصية مرة أخرى، ظهر شريط المهام مرة أخرى. يبدو أنه يفترض أنه لا تريد زر تعظيم، فأنت تقوم بإنشاء تطبيق على غرار كشك حيث لا تريد أن يرى المستخدمون أي شيء سوى شاشة التطبيق. ليس بالضبط ما أتوقعه، ولكن يعمل أعتقد.

كان لدي هذه المشكلة وحلها من قبل مساعدة جيف. أولا، قم بتعيين WindowState ل تعظيم. وبعد لكن لا تعطيل MaximizeBoxوبعد ثم إذا كنت ترغب في تعطيل MaximizeBox المراد تعطيلك، فيجب عليك القيام بذلك برمجيا:

private void frmMain_Load(object sender, EventArgs e)
{
   this.MaximizeBox = false;
}

يمكن تثبيت شريط المهام على الجانب الأيسر، أعلى، أسفل، الجانب الأيمن. إذا كنت تريد تعظيم النافذة دون وجود شريط مهني، استخدم هذا الرمز:

... قص ... Form2 Public Partial Form2: نموذج {Public Form2 () {// تعيين وضع البدء الافتراضي إلى يدوي this.starposition = system.windows.forms.formstapition.manual؛ / / اضبط موضع وحجم إلى النموذج. this.gounds = screen.primaryscreen.workingarea؛ .... التهيئة ()؛ } ...يقطع...

عند تعيين نمط حدود النموذج إلى أي النموذج سيخفه شريط المهام. للتحصل حول هذا عليك تعيين أقصى حد من النموذج يدويا. إذا كان Windows Auto-يخفي شريط المهام سوف يغطي النموذج حتى شريط المهام الخفي! للحصول على هذا الحد من ارتفاع الحد الأقصى للحجم بنسبة واحد بكسل واحد (إذا كان شريط المهام الخاص بك في الأسفل)!

        Me.MaximumSize = New Size(My.Computer.Screen.WorkingArea.Size.Width, _
                                  My.Computer.Screen.WorkingArea.Size.Height - 1)

ما فعلته هو ما يلي:

  • قم بتعيين خاصية MaximizeBox إلى TRUE
  • تعيين WindowState لتعظيم
  • في منشئ النموذج، كتب ما يلي:

    this.gounds = screen.primaryscreen.workingarea؛

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