تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] كيف اسوي شريط انتظار
#1
السلام عليكم ورحمة الله وبركاته
شباب كيف اسوي progress bar يعني شريط انتظار الي يجي لما تثبت حاجة كيف؟؟
كيف اسويه دورته ما لقيت
Heart Heart 
الرد }}}}
تم الشكر بواسطة:
#2
يمكنني إخبارك عن الطريقة لكن الكود لا ادري

تضع عدة بكتشر بحجم معين و ليكن عشرة مثلا على شكل مصفوفة و تجعل خاصية broderstyle=0-none او تبقيها كما هي لتصنع مثلما ترى عند تنصيب اكس بي و يكون لها لون خلفية backcolor معين إذن مهمة الكود تغيير لون هذه الخلفية إلي اللون المطلوب بطريقة معينة

و بالنسبة للتثبيت تضع كود للتاكد من وجود ملف معين فإذا كان موجودا يتغير لون البكتشر ذو الرقم او لون عدة بكتشرات ذوات الارقام . طبعا الكود ضمن تايمر و زمن التأكد اقل من 1000 يعني interval اقل من 1000
الرد }}}}
تم الشكر بواسطة:
#3
السلام عليكم...

افتح نافذة الـ Components بإحدى الطرق التالية:

- من القائمة Project اختر الأمر Components.
- أو -
- انقر بالزر الأيمن للفأرة على صندوق الأدوات و اختر الأمر Components.
- أو -
- اضغط Ctrl+T.

في نافذة الـ Components ابحث عن البند Microsoft Windows Common Controls 6.0 و قم بتحديده (اجعل بجانبه إشارة صح) ثم انقر الزر OK.

ستضاف إلى صندوق الأدوات مجموعات مكونات منها الـ ProgressBar. أضفه إلى الـ Form كما تضيف أي مكون آخر.

للـ ProgressBar عدة خصائص منها:

الخاصية Min لتحديد القيمة الصغرى للنطاق - مثلاً صفر.
الخاصية Max لتحديد القيمة الكبرى للنطاق - مثلاً 100.
الخاصية Value لتحديد القيمة التي وصل إليها.
الخاصية Orientation لتحديد شكله - أفقي أو رأسي.
الخاصية Scrolling لتحديد نمط التدرج - إما قياسي (Standard) حيث يكون التدرج على شكل كتل مستقلة، أو ناعم (Smooth) حيث يكون التدرج كلون واحد متصل.

* فكرة استعماله هي أن تجعل قيمته (Value) المبدئية مساوية للقيمة الصغرى (Min) صفر مثلاً. و تجعل القيمة الكبرى (Max) مساوية لعدد الخطوات التي ستقوم بها أو متناسبة مع حجم البيانات التي ستتعامل معها. ثم كلما أنجزت خطوة أو عالجت مجموعة من البيانات تزيد قيمة الخاصية Value.

كود :
If ProgressBar1.Value < ProgressBar1.Max Then
    ProgressBar1.Value = ProgressBar1.Value + 1
End If

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}}
تم الشكر بواسطة: VB_Coder , mr.am.he , عبد الله
#4
مشكووووووووووووووووووووور يا ناجي ابراهيم
الله يعطيك العافية لقيته شكراBig GrinBig GrinBig GrinBig GrinBig GrinBig Grin

بس تقدر تخليه شكله ولونه غير
شكله يعني مثلا تخليه زي حق التثبيت في بعض البرامج
ولونه اصفر احمر و (اخضر)
؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟Huh
Heart Heart 
الرد }}}}
تم الشكر بواسطة:
#5
بطريقتي تحصل على تحكم كامل
الرد }}}}
تم الشكر بواسطة:
#6
وش قصدك ب بكتشر؟؟؟؟؟؟؟؟HuhHuhHuh
Heart Heart 
الرد }}}}
تم الشكر بواسطة:
#7
السلام عليكم...

يمكنك فعل ذلك باستعمال PictureBox واحد كالتالي كتجربة:

ضع على الـ Form مكون PictureBox الذي سيمثل الـ ProgressBar. اضبط ارتفاعه و عرضه كما تريد. نفرض أن اسمه Picture1.

ضع داخل الـ PictureBox مكون Shape (نفرض أن اسمه Shape1) و اضبط له الخصائص التالية:

الخاصية BackStyle على Opaque.
الخاصية BorderStyle على Transparent.
الخاصية BackColor على اللون الذي تريده.

* لا يهم مكانه و لا حجمه.

ضع على الـ Form مكون Timer (نفرض أن اسمه Timer1) و اضبط الخاصية Interval على 100 و الخاصية Enabled على False.

ضع على الـ Form مكون CommandButton. نفرض أن اسمه Command1.

* انقر نقراً مزدوجاً على الـ Form و اكتب السطر التالي في الحدث Form_Load:

كود :
Shape1.Move Picture1.ScaleLeft, Picture1.ScaleTop, 0, Picture1.ScaleHeight

* انقر نقراً مزدوجاً على Command1 و اكتب السطر التالي في الحدث Command1_Click:

كود :
Timer1.Enabled = True

* انقر نقراً مزدوجاً على Timer1 و اكتب الكود التالي في الحدث Timer1_Timer:

كود :
If Shape1.Width < Picture1.ScaleWidth Then
        Shape1.Width = Shape1.Width + (Picture1.ScaleWidth / 100)
    Else
        Timer1.Enabled = False
        MsgBox "انتهى"
    End If

شغل البرنامج و انقر على الزر. سيبدأ الشريط في التقدم من اليسار إلى اليمين.

* إذا أردته أن يتحرك من اليمين إلى اليسار فاجعل الأكواد كالتالي:

كود :
Private Sub Form_Load()
    Shape1.Move Picture1.ScaleWidth, Picture1.ScaleTop, 0, Picture1.ScaleHeight
End Sub

Private Sub Command1_Click()
    Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
    If Shape1.Width < Picture1.ScaleWidth Then
        Shape1.Width = Shape1.Width + (Picture1.ScaleWidth / 100)
        Shape1.Left = Picture1.ScaleWidth - Shape1.Width
    Else
        Timer1.Enabled = False
        MsgBox "انتهى"
    End If
End Sub

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}}
#8
(10-01-14, 02:45 PM)ناجي إبراهيم كتب : السلام عليكم...

يمكنك فعل ذلك باستعمال PictureBox واحد كالتالي كتجربة:

ضع على الـ Form مكون PictureBox الذي سيمثل الـ ProgressBar. اضبط ارتفاعه و عرضه كما تريد. نفرض أن اسمه Picture1.

ضع داخل الـ PictureBox مكون Shape (نفرض أن اسمه Shape1) و اضبط له الخصائص التالية:

الخاصية BackStyle على Opaque.
الخاصية BorderStyle على Transparent.
الخاصية BackColor على اللون الذي تريده.

* لا يهم مكانه و لا حجمه.

ضع على الـ Form مكون Timer (نفرض أن اسمه Timer1) و اضبط الخاصية Interval على 100 و الخاصية Enabled على False.

ضع على الـ Form مكون CommandButton. نفرض أن اسمه Command1.

* انقر نقراً مزدوجاً على الـ Form و اكتب السطر التالي في الحدث Form_Load:

كود :
Shape1.Move Picture1.ScaleLeft, Picture1.ScaleTop, 0, Picture1.ScaleHeight

* انقر نقراً مزدوجاً على Command1 و اكتب السطر التالي في الحدث Command1_Click:

كود :
Timer1.Enabled = True

* انقر نقراً مزدوجاً على Timer1 و اكتب الكود التالي في الحدث Timer1_Timer:

كود :
If Shape1.Width < Picture1.ScaleWidth Then
        Shape1.Width = Shape1.Width + (Picture1.ScaleWidth / 100)
    Else
        Timer1.Enabled = False
        MsgBox "انتهى"
    End If

شغل البرنامج و انقر على الزر. سيبدأ الشريط في التقدم من اليسار إلى اليمين.

* إذا أردته أن يتحرك من اليمين إلى اليسار فاجعل الأكواد كالتالي:

كود :
Private Sub Form_Load()
    Shape1.Move Picture1.ScaleWidth, Picture1.ScaleTop, 0, Picture1.ScaleHeight
End Sub

Private Sub Command1_Click()
    Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
    If Shape1.Width < Picture1.ScaleWidth Then
        Shape1.Width = Shape1.Width + (Picture1.ScaleWidth / 100)
        Shape1.Left = Picture1.ScaleWidth - Shape1.Width
    Else
        Timer1.Enabled = False
        MsgBox "انتهى"
    End If
End Sub

نرجو الاستفادة و السلام.




مشكووووووووووووووووووووووووووووووووووووووووووووووووووووووووور
الله يعطيك العافيه

شكرا

بس عندي سؤال واحد بسيط تقدر تخليه يقعد يسوي حاجه وهو قاعد يطول؟؟
وكمان تقدر تخليه اول ما تخلص ذي الحاجة يكتمل الخط؟؟؟
و msgbox اعرف اغيره يعني مو لازم المهم اقدر اسوي ذي الاشياء؟
Heart Heart 
الرد }}}}
تم الشكر بواسطة: asto
#9
ممكن بالتايمر 2 (تايمر جديد)

يعني عند البدأ بفعل الحاجة يتم تشغيل التايمر (Timer2.Enabled = True) الذي مثلا كل ثانية او حسب الوقت المختار يتقدم خطوة واحدة و عند الانتهاء يكون قد وصل النهاية

و اذا حدثت مشاكل يعني الحاجة انتهت و لم يكتمل الخط تعمل Timer2.Enabled = False و كود تغيير اللون او تماشيا مع الاستاذ ناجي ابراهيم الكود يكون بالكامل :

Timer2.Enabled = False
Shape1.Width =Shape1.Width + Picture1.ScaleWidth

و لم افهم ما تقصد بال msgbox اذا كنت تقصد تغيير الرسالة احذف ما بين "" و اكتب داخلهما ما تريد

اما ان كنت تريد عمل واحدة من تصميمك عليك بانشاء فورم جديد يحوي ليبل و كوماند و ليكن اسم الفورم form2

و في الكوماند تكتب مثلا :

form2.visible=false

و في الفورم 1 استبدل كود اظهار رسال ب form2.visible=true
الرد }}}}
تم الشكر بواسطة:
#10
(11-01-14, 08:23 AM)asto كتب : ممكن بالتايمر 2 (تايمر جديد)

يعني عند البدأ بفعل الحاجة يتم تشغيل التايمر (Timer2.Enabled = True) الذي مثلا كل ثانية او حسب الوقت المختار يتقدم خطوة واحدة و عند الانتهاء يكون قد وصل النهاية

و اذا حدثت مشاكل يعني الحاجة انتهت و لم يكتمل الخط تعمل Timer2.Enabled = False و كود تغيير اللون او تماشيا مع الاستاذ ناجي ابراهيم الكود يكون بالكامل :

Timer2.Enabled = False
Shape1.Width =100

و لم افهم ما تقصد بال msgbox اذا كنت تقصد تغيير الرسالة احذف ما بين "" و اكتب داخلهما ما تريد

اما ان كنت تريد عمل واحدة من تصميمك عليك بانشاء فورم جديد يحوي ليبل و كوماند و ليكن اسم الفورم form2

و في الكوماند تكتب مثلا :

form2.visible=false



مشكووووووووووووووووور
بس تقدر
تخلي مثلا اذا ما كتب في التيكست بوكس textbox

ما كتب شيء
ما يطول الخط وتجيه رساله msgbox اذا ما تعرف ال msgbox انا قصدي الرسالة النصية
او تنبيه بحاجة او اي شيء المهم
تقدر تخليه اذا ما كتب حاجه في التيكست بوكس textbox ما يطول الخط وتجيه رسالة
؟؟

وكمان في ال combobox
اذا ما حدد حاجة ما يطول النص وتيجيه رساله نصيه؟؟
Heart Heart 
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [vb6.0] جعل مشروع الفيجوال بيسك فوق شريط المهام(في المقدمة) shamal 2 218 18-03-16, 08:56 AM
آخر رد: shamal
Question [سؤال] شريط التمرير العامودي و الأفقي Omar 6.0 2 239 26-02-16, 07:21 AM
آخر رد: Omar 6.0
  شريط التقدّم عبد العزيز البسكري 4 265 10-02-16, 02:22 AM
آخر رد: ahmedabdelaliem
  [سؤال] حول شريط الحالة progressbar o_zeyad 1 256 30-08-15, 10:55 PM
آخر رد: أبو عمر
  [سؤال] كيف اسوي برنامج يقرأ سطر سطر وينفذ امر mera 15 2,359 09-04-15, 03:19 PM
آخر رد: mera

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم