23-12-18, 04:35 PM
23-12-18, 07:12 PM
وعليكم السلام ،،
في الفورم لود ضع السطر التالي :
أو انك تعمل كالتالي :
[attachment=20432]
زر التوسيع :
زر التقليل :
بالتوفيق للجميع ،،
في الفورم لود ضع السطر التالي :
كود :
ListBox1.AutoSize = Trueأو انك تعمل كالتالي :
[attachment=20432]
زر التوسيع :
كود :
ListBox1.Width = ListBox1.Width + 10زر التقليل :
كود :
ListBox1.Width = ListBox1.Width - 10بالتوفيق للجميع ،،
23-12-18, 08:36 PM
(23-12-18, 07:12 PM)حريف برمجة كتب : [ -> ]وعليكم السلام ،،
في الفورم لود ضع السطر التالي :
كود :
ListBox1.AutoSize = True
أو انك تعمل كالتالي :
زر التوسيع :
كود :
ListBox1.Width = ListBox1.Width + 10
زر التقليل :
كود :
ListBox1.Width = ListBox1.Width - 10
بالتوفيق للجميع ،،
جزاك الله كل خير اخى...
لكن انا اريدها بالماوس يعنى اسحبها بالماوس نفسه
24-12-18, 01:08 AM
(23-12-18, 04:35 PM)ابو روضة كتب : [ -> ]السلام عليكم اخوتىكيف اجعل المستخدم يستطيع توسيع الليست بوكسمن الاطراف اثناء تشغيل البرنامج
![]()
وعليكم السلام ورحمة الله
قم باضافة أداة SplitContainer وستجد انها تتكون من Panel1 وPanel2
قم بادراج أداة ListBox في إحداهما مع تغيير خاصية Dock الخاصة بالListBox إلى Fill
24-12-18, 04:46 AM
(24-12-18, 01:08 AM)a.wagdi كتب : [ -> ](23-12-18, 04:35 PM)ابو روضة كتب : [ -> ]السلام عليكم اخوتىكيف اجعل المستخدم يستطيع توسيع الليست بوكسمن الاطراف اثناء تشغيل البرنامج
![]()
وعليكم السلام ورحمة الله
قم باضافة أداة SplitContainer وستجد انها تتكون من Panel1 وPanel2
قم بادراج أداة ListBox في إحداهما مع تغيير خاصية Dock الخاصة بالListBox إلى Fill
بارك الله فيك أخى فعلا هذا ما كنت اريده...
ينفع احذف Panel2 واجعلها واحد فقط ؟
24-12-18, 11:12 AM
وفيك بارك أخي الكريم
اسم الأداة SplitContainer أي حاوية مقسمة،
فلو كانت هناك إمكانية لحذف Panel2 وجعلها واحدة فلن تصبح الأداة ذات فائدة، لأنه ليس هناك ما يتقاسم معه Panel1.
بامكانك وضع بقية الأدوات في Panel2 مع ضبط الخاصية Panel1MinSize لأقل عرض تسمح به لها وكذلك Panel2MinSize2،
مع ضبط الحد الأدنى لعرض الفورم عن طريق MinimizeSize بحيث يكون العرض مجموع الخاصيتين السابقتين مع إضافة مناسبة،
فرضا قمت ب وضع Panel1MinSize =100 و Panel2MinSize2 =300
فعندها يفترض أن لا يقل عرض MinimizeSize الخاص بالفورم عن = (100)+(300)+(200إضافي) = 600
وبذلك تضمن التنسيق الملائم للفورم
لست ملزم بجعل الأداة تملأ الفورم، فبإمكانك جعل الخاصية Dock للأداة None مع تفعيل الخاصية Anchor بدلا منها ووضعها في المكان المناسب ليتقاسم ذلك المكان أداتان مثل أداة ListBox في Panel1 وأداة TreeView في Panel2 تشبيها بمستكشف الويندوز Windows Explorer.
هناك خاصية FixedPanel لتحدد أي من Panels لا تتأثر بتغير حجم الفورم، أي أنها تقاوم التأثير الى ادنى عرض للPanel الأخرى،
وهذه الخاصية تتطلب أن تكون الخاصية Dock بـ(Fill أو Top أو Bottom) أو ضبط الخاصية Anchor بـ(Left أوRight).
قم بإجراء عدة تجارب عليها لتستوعب امكانياتها وما يمكن أن تستفيد منها في مختلف مهام مشاريعك.
جرب تغيير الخصائص التالية:
IsSplitterFixed لتعطيل إمكانية تحريك الفاصل
Panel1Collapsed وPanel2Collapsed لإخفاء أحد Panels
SplitterIncrement لتحديد عرض قفزات الفاصل
SplitterWidth لتحديد عرض الخط الفاصل
BorderStyle ليضع إطار حول كل Panel
أيضا هناك الخاصية Orientation لتحديد الشكل هل التقسيم يمين مع يسار Vertical أو أعلى وأسفل Horesintal،
وقد لا تستطيع تغيير الإتجاة Orientation إذا كانت قيمة كلا من Panel1MinSize وPanel2MinSize غير مقبولة بالنسبة للإتجاه المطلوب،
فاجعل قيمتهما صفرا ثم غير الإتجاه Orientation وبعدها تستطيع تعديل قيمتهما من جديد.
واخيرا الخاصية SplitterDistance وهو موضع الفاصل بشكل ابتدائي،
إذا لاحظت أن الخط الفاصل غير ظاهر عند التصميم فاجعل قيمة SplitterDistance تساوي نصف عرض أو ارتفاع الأداة حسب نوع الإتجاه Orientation.
اسم الأداة SplitContainer أي حاوية مقسمة،
فلو كانت هناك إمكانية لحذف Panel2 وجعلها واحدة فلن تصبح الأداة ذات فائدة، لأنه ليس هناك ما يتقاسم معه Panel1.
بامكانك وضع بقية الأدوات في Panel2 مع ضبط الخاصية Panel1MinSize لأقل عرض تسمح به لها وكذلك Panel2MinSize2،
مع ضبط الحد الأدنى لعرض الفورم عن طريق MinimizeSize بحيث يكون العرض مجموع الخاصيتين السابقتين مع إضافة مناسبة،
فرضا قمت ب وضع Panel1MinSize =100 و Panel2MinSize2 =300
فعندها يفترض أن لا يقل عرض MinimizeSize الخاص بالفورم عن = (100)+(300)+(200إضافي) = 600
وبذلك تضمن التنسيق الملائم للفورم
لست ملزم بجعل الأداة تملأ الفورم، فبإمكانك جعل الخاصية Dock للأداة None مع تفعيل الخاصية Anchor بدلا منها ووضعها في المكان المناسب ليتقاسم ذلك المكان أداتان مثل أداة ListBox في Panel1 وأداة TreeView في Panel2 تشبيها بمستكشف الويندوز Windows Explorer.
هناك خاصية FixedPanel لتحدد أي من Panels لا تتأثر بتغير حجم الفورم، أي أنها تقاوم التأثير الى ادنى عرض للPanel الأخرى،
وهذه الخاصية تتطلب أن تكون الخاصية Dock بـ(Fill أو Top أو Bottom) أو ضبط الخاصية Anchor بـ(Left أوRight).
قم بإجراء عدة تجارب عليها لتستوعب امكانياتها وما يمكن أن تستفيد منها في مختلف مهام مشاريعك.
جرب تغيير الخصائص التالية:
IsSplitterFixed لتعطيل إمكانية تحريك الفاصل
Panel1Collapsed وPanel2Collapsed لإخفاء أحد Panels
SplitterIncrement لتحديد عرض قفزات الفاصل
SplitterWidth لتحديد عرض الخط الفاصل
BorderStyle ليضع إطار حول كل Panel
أيضا هناك الخاصية Orientation لتحديد الشكل هل التقسيم يمين مع يسار Vertical أو أعلى وأسفل Horesintal،
وقد لا تستطيع تغيير الإتجاة Orientation إذا كانت قيمة كلا من Panel1MinSize وPanel2MinSize غير مقبولة بالنسبة للإتجاه المطلوب،
فاجعل قيمتهما صفرا ثم غير الإتجاه Orientation وبعدها تستطيع تعديل قيمتهما من جديد.
واخيرا الخاصية SplitterDistance وهو موضع الفاصل بشكل ابتدائي،
إذا لاحظت أن الخط الفاصل غير ظاهر عند التصميم فاجعل قيمة SplitterDistance تساوي نصف عرض أو ارتفاع الأداة حسب نوع الإتجاه Orientation.
24-12-18, 03:43 PM
أخى الكريم a.wagdi
ربنا يبارك بعمرك ويجزيك كل الخيرات والبركات اسلوبك جميل والله ماشاء الله..
24-12-18, 05:29 PM
تعليقك الأجمل بارك الله فيك أخي الكريم