منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيف احل مشكلة نافذة البرنامج التي تختلف في كل شاشة ضروووري
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3
[b]
السلام عليكم ورحمة الله وبركاته

كيف احل مشكلة نافذة البرنامج التي تختلف في كل شاشة ضروووري

هل في كود يمدد الفورم بدون مشاكل على حسب الشاشة.. اتعبتني هذه المشكلة
لاني اريد تمديد البرنامج على كامل الشاشة


قبل التكبير


بعد التكبير



[/b]
وعليكم السلام Big Grin

نعم يمكنك ان تجعل الفورم بحجم الشاشة بالكامل عن طريق الكود التالي يتم وضعه في حدث form_load :
كود :
Me.WindowState = FormWindowState.Maximized

ويمكنك ان تجعل الفورم في منتصف الشاشة :

كود :
Me.StartPosition = FormStartPosition.CenterScreen
(30-04-14, 01:51 AM)Omar Mekkawy كتب : [ -> ]
وعليكم السلام Big Grin

نعم يمكنك ان تجعل الفورم بحجم الشاشة بالكامل عن طريق الكود التالي يتم وضعه في حدث form_load :
كود :
Me.WindowState = FormWindowState.Maximized

ويمكنك ان تجعل الفورم في منتصف الشاشة :

كود :
Me.StartPosition = FormStartPosition.CenterScreen

اخي مو معقولة اني ما اعرف هذا الكود Big Grin بس اقصد البرنامج مع ادوات البرنامج
يعني زي البرامج العادية لو كانت صغيرة وكبرتها راح تكبر النافذة وكل محتويات البرنامج بتناسق .. انا اريد ذلك اخي الكريم
اضبط خاصية Anchor لكل الكونترول
(01-05-14, 02:47 AM)الشاكي لله كتب : [ -> ]اضبط خاصية Anchor لكل الكونترول

اخي قد جربتها من قبل تلخبط كل الادوات مع بعضها لو حطيت كل الاتجاهات ولا شلت كل الاتجاهات نفس الفكرة تلخبط كل الادوات ،، جربت اكثر من خيار نفس الفكرة ..

مو معقولة مافي حل ،، كيف البرامج الأخرى
لو انني فهمت سؤالك جيدا فإن ما تطلبه ليس امرا سهلا و لكنه ليس مستحيلا
أنت تحتاج لكتابة مكتبة تتعامل مع Resolution الخاص بكل شاشات الكمبيوتر...لتوضيح الأمر قليلا أنت تحتاج الي ان تكتب مكتبة تتعامل مع Font & Size الخاصة بالفورم و من ثم تقوم بعمل Tracking لأي تغييرات تحدث للفورم و بناء عليه تقوم بتغيير ابعاد الكونترول الموجودة ب الفورم طبقا للابعاد الجديدة.......انا كنت بدأت اكتب مكتبة مماثلة لطلبك منذ فترة طويلة ثم توقفت عن كتابتها لضيق الوقت لدي

عموما و حاليا ليس لديك حلول غير أن تستخدم الخاصيتين Anchor & Docking معا و تضبط برنامجك بشكل مناسب
(01-05-14, 04:35 AM)silverlight كتب : [ -> ]لو انني فهمت سؤالك جيدا فإن ما تطلبه ليس امرا سهلا و لكنه ليس مستحيلا
أنت تحتاج لكتابة مكتبة تتعامل مع Resolution الخاص بكل شاشات الكمبيوتر...لتوضيح الأمر قليلا أنت تحتاج الي ان تكتب مكتبة تتعامل مع Font & Size الخاصة بالفورم و من ثم تقوم بعمل Tracking لأي تغييرات تحدث للفورم و بناء عليه تقوم بتغيير ابعاد الكونترول الموجودة ب الفورم طبقا للابعاد الجديدة.......انا كنت بدأت اكتب مكتبة مماثلة لطلبك منذ فترة طويلة ثم توقفت عن كتابتها لضيق الوقت لدي

عموما و حاليا ليس لديك حلول غير أن تستخدم الخاصيتين Anchor & Docking معا و تضبط برنامجك بشكل مناسب

نعم هذ ما اقصده وللعلم اني املك هذه المكتبه وقد اتيت بها من اول موقع فيجول قبل 3 سنين ،، لكن يوجد بها مشاكل بسيطة .. راح احاول ابحث عنها واكتبها ،، بس معقولة مافي طريقة سهله ؟غريب من شركة مايكروسوفت عمل ذلك
ههههههههههه.مايكروسوفت تصنع فقط ما يتناسب مع احتياجاتها ف المقام الأول
عموما أنصحك أن تهتم ب الكلاس Screen و ايضا تجيد +GDI
اخي العزيز ربما تجد ما ينفعك في هذا الكود .... علما انه يعمل على ضبط الرزليوشن للكونترولز الموجودة على الفورم .... تضعه في حدث التحميل للفورم

كود :
Dim DesignScreenWidth As Integer = 1600
    Dim DesignScreenHeight As Integer = 1200
    Dim CurrentScreenWidth As Integer = Screen.PrimaryScreen.Bounds.Width
    Dim CurrentScreenHeight As Integer = Screen.PrimaryScreen.Bounds.Height
    Dim RatioX as Double = CurrentScreenWidth / DesignScreenWidth
    Dim RatioY as Double = CurrentScreenHeight / DesignScreenHeight
    For Each iControl In Me.Controls
        With iControl
            If (.GetType.GetProperty("Width").CanRead) Then .Width = CInt(.Width * RatioX)
            If (.GetType.GetProperty("Height").CanRead) Then .Height = CInt(.Height * RatioY)
            If (.GetType.GetProperty("Top").CanRead) Then .Top = CInt(.Top * RatioX)
            If (.GetType.GetProperty("Left").CanRead) Then .Left = CInt(.Left * RatioY)
        End With
    Next
افضل حل هو كالتالي :

عند تشغيل البرنامج يحفظ الروزليشن للجهاز ،، ويضعه في متغير .

وتحويل الروزليشن للشاشة كما تحب ان تكون .

وعند اغلاق البرنامج يعيد الروزليشن للجهاز كما كانت .
الصفحات : 1 2 3