منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
ضبط دقة الشاشة على جميع الأحجام - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : ضبط دقة الشاشة على جميع الأحجام (/showthread.php?tid=27530)

الصفحات: 1 2


ضبط دقة الشاشة على جميع الأحجام - عبد العزيز البسكري - 19-11-18

السلام عليكم و رحمة الله و بركاته
اخواني الاكارم هل توجد طريقة مجربة و فعالة لضبط دقة الشاشة على جميع الأجهزة .. جربت العديد من أكواد ال resize لكن لم أجد النتيجة المرجوّة..تقريبا الأكواد الموجودة بالمنتدى قمت بتجربتها لكنها لم تجدِ نفعًا.
لدي جهازين و كلما أشغل مشروع على الاول و اجرب بالكود و أشغله على الثاني الاكبر حجما .. دوما أجد ما لا يسرُّ الناظرين كأنْ تختفي بعض أجزاء الفورم مثلا أو يظهر فقط نصفها أو ربعها ..
بارك الله فيكم و لكم و جزاكم خير الجزاء مقدما



RE: ضبط دقة الشاشة على جميع الأحجام - dasktop - 19-11-18

نعم اخي توجد طريقة جربتها وناجحه وهي التعرف على حجم الشاشة واستخدام عبارة الشرط if في الاحجام وتوسعة الادوات 

فقط صور شاشة المستخدم واضهر بيانات العرض والطول واكتب عبارات شرطة اذا كان مثلا طول الشاشة 1850 والعرض 500 تتوسع الادوات بشكل المناسب


هاذي طريقتي في ضبط الشاشة طويلة قليلا ولاكن مناسبة


RE: ضبط دقة الشاشة على جميع الأحجام - عبد العزيز البسكري - 19-11-18

السّلام عليكم و رحمة الله و بركاته
بارك الله فيك و لك أخي الكريم " dasktop " على المساعدة
لو تتكرّم أخي الغالي .. فضل و إحسان منك .. بملف تطبيقي فقط لتجربة ذلك على جهازي
تحياتي



RE: ضبط دقة الشاشة على جميع الأحجام - حريف برمجة - 19-11-18

وعليكم السلام ورحمة الله وبركاته ،،


افضل طريقة من وجهة نظري هي :

عند تشغيل البرنامج تخزن دقة الشاشة مثلاً (1024×768) في متغير

وتعمل تغيير لدقة الشاشة لنفس الدقة التي تم تصميم التطبيق عليها .

وعند إغلاق التطبيق تعمل استرجاع للدقة .


RE: ضبط دقة الشاشة على جميع الأحجام - dasktop - 19-11-18

تفضل

ضع هاذا التعريف فوق الفروم لود


كود :
Dim ProportionsArray() As CtrlProportions



وفي الفروم لود ضع هاذا الكود


كود :
    Informload()

  End Sub
  Private Structure CtrlProportions
      Dim HeightProportions As Single
      Dim WidthProportions As Single
      Dim TopProportions As Single
      Dim LeftProportions As Single
  End Structure
  Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize

      Resizeform()

  End Sub


  Sub Informload()

      On Error Resume Next

      Application.DoEvents()

      ReDim ProportionsArray(0 To Controls.Count - 1)

      For I As Integer = 0 To Controls.Count - 1

          With ProportionsArray(I)
              .HeightProportions = Controls(I).Height / Height
              .WidthProportions = Controls(I).Width / Width
              .TopProportions = Controls(I).Top / Height
              .LeftProportions = Controls(I).Left / Width

          End With
      Next

  End Sub

  Public Sub Resizeform()

      On Error Resume Next

      For I As Integer = 0 To Controls.Count - 1

          Controls(I).Left = ProportionsArray(I).LeftProportions * Me.Width
          Controls(I).Top = ProportionsArray(I).TopProportions * Me.Height
          Controls(I).Width = ProportionsArray(I).WidthProportions * Me.Width
          Controls(I).Height = ProportionsArray(I).HeightProportions * Me.Height
      Next



سوف تكون مرتبة الادوات فقط ماعدى النصوص سااعمل لك مثال على ذالك


RE: ضبط دقة الشاشة على جميع الأحجام - عبد العزيز البسكري - 19-11-18

(19-11-18, 04:34 PM)حريف برمجة كتب : وعليكم السلام ورحمة الله وبركاته ،،


افضل طريقة من وجهة نظري هي :

عند تشغيل البرنامج تخزن دقة الشاشة مثلاً (1024×768) في متغير

وتعمل تغيير لدقة الشاشة لنفس الدقة التي تم تصميم التطبيق عليها .

وعند إغلاق التطبيق تعمل استرجاع للدقة .

السّلام عليكم و رحمة الله و بركاته
بارك الله فيك و لك أستاذنا الكريم " حرّيف برمجة "
وجهة نظرك مسموع لها أخي الغالي ..
لو سمحت كيف يتم عمل هذا المتغيّر علمًا أنّ دقّة شاشة الجهاز الذي أفضّل العمل عليه هي : 768 - 1366
طبعا قما بجلب هذه الدقذة كما تعلم أكيد :

كود :
  Dim height1 As Integer = My.Computer.Screen.Bounds.Height
   Dim width1 As Integer = My.Computer.Screen.Bounds.Width
 TextBox1.Text = width1 & " - " & height1
بارك الله فيك و لك و بصالح أعمالك ليوم الدّين
كما لا يفوتني تهنئتك بذكر مولد النبي المصطفى عليه و على آله و صحبه أفضل السّلام

تحياتي

السلام عليكم و رحمة الله و بركاته
تسلم أخي الكريم " daskttop " و سلم يمينك و دينك
سأجرب و أخبرك بالنتيجة ان شاء الله
تحياتي


RE: ضبط دقة الشاشة على جميع الأحجام - elgokr - 19-11-18

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

افضل طريقة انصح بها دائماً هو التعامل مع خيارات 
PHP كود :
Dock و Anchor 

تلك الخيارت هى خلاصة واختصار المطلوب

للتوضيح اكثر قام الاخ khodor1985
بشرح  طريقة بكل سهولة وبساطة توضح كيفية جعل الفورم اكثر تناسق
http://vb4arb.com/vb/showthread.php?tid=20702&pid=100922#pid100922

كما يمكنك مراجعة الرابط التالى والتى تتبع الشرح بها الى الاخ silverlight
http://vb4arb.com/vb/showthread.php?tid=25462&pid=121955#pid121955

تحياتى لك
وتمنياتى لك التوفيق



RE: ضبط دقة الشاشة على جميع الأحجام - atefkhalf2004 - 19-11-18

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


RE: ضبط دقة الشاشة على جميع الأحجام - عبد العزيز البسكري - 19-11-18

السّلام عليكم و رحمة الله و بركاته
ألف شكر و بارك الله فيك و لك أخي و استاذي الكريم الغالي " elgokr " على مشاركتنا الموضوع .. رأيك محترم و يحترم .. سأحاول تجربة ما تطرّق إليه أستاذنا الكريم " khodor " بارك الله فيه
و من جهة أخرى و كرأي قرأته ذات مرّة بأحد المشاركات و هو التّصميم على حسب شاشة العميل ..!!؟؟
الفكرة تقبّلها فكري علميًّا و برمجيًّا .. لكن هذا يتطلّب أنّ كل عميل يعطيك شاشته لتشتغل عليها .. أو توفّر لديك في البيت معظم الشاشات و الإشتغال حسب الطّلب .. !!
ما يحيّرني برامج عالميّة مثل الفوتوشوب مثلاً .. و لا مرّة سمعت أنّه حدثت مشكلة بدقة الشاشة .. و هذا يعني أنّ هناك حل برمجي
كيف ؟؟
الله أعلم
تحياتي



RE: ضبط دقة الشاشة على جميع الأحجام - عبد العزيز البسكري - 20-11-18

(20-11-18, 06:46 AM)khodor1985 كتب : السلام عليكم إخواني الأعزاء ورحمة الله وبركاته،
من وحي الخبرة في مجال تصميم النوافذ والواجهات لقد لستخدمت في كل البرامج التي صممتها أداة الـ TableLayoutPanel، ولم أواجه أي مشكلة عند أي زبون بخصوص دقة الشاشة، لذا أنصح باستخدامها.

السّلام عليكم و رحمة الله  و بركاته
أنا فعلا أتابع و أحاول فهم ما تمّ ذكره من سيادتك أستاذنا الكريم .. بارك الله فيك و لك و جزاك خير الجزاء
تحياتي و إحتراماتي