الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كود تحريك ليبل

بدأه Positive.Muslim في 25 يونيو 2008 · 3 رد · 1,050 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أرجو ممن لديه قدرة على شرح هذا الكود و الذ يستخدم لتحريك الليبل إلى اليسار بشكل مستمر - أن يفعل مشكوراً

حتى يتسنى لنا بعد فهمه محاولة تحريكه بالعكس أي تحريكه إلى اليمين بشكل مستمر

Public Sub New()



  InitializeComponent()

  Me.Label9.Top = Me.ClientSize.Height - Me.Label9.Height

  Me.Label9.Left = 0 - Me.Label9.Width

 End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
		'***********************************************
		'تحريك العنوان إلى اليسار بشكل مستمر
		'***********************************************
		Me.Label9.Left += 1
		If (Me.Label9.Left = Me.ClientSize.Width) Then
			Me.Label9.Left = 0 - Me.Label9.Width 'جعل العنوان في أسفل الشاشة حتى يكون مختفي تماما
		End If
	End Sub

بارك الله فيكم و نفع بكم

تم تعديل هذه المشاركة بواسطة Positive.Muslim في 25 يونيو 2008 في 06:47

#2

السلام عليكم

اولا

InitializeComponent()

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

ثانيا

Me.Label9.Top = Me.ClientSize.Height - Me.Label9.Height

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

ثالثا

Me.Label9.Left = 0 - Me.Label9.Width

انت هنا بتقوله ان وضع الليبل بالنسبة يمين وشمال يكون على الشمال خالص قبل الفورمة

بمعنى انه لو قلتله ان الــ Left = 0 يعني الليبل هايكون موجود في اول الفورمة بالضبط

ولكن هنا انت بتقوله انه يكون سالب العرض بتاع الليبل

وليكن الليبل عرضه = 150 يبقى انت بتقول لليبل انه يكون سالب 150 يعني هايبعد عن الفرومة يعني قبل الصفر بكتير يعني مش هايظهر

رابعا

Me.Label9.Left += 1

الكود ده موجود في التايمر ولازم التايمر يكون شغال

انت هنا بتقوله ان يبدا يظهر بمقدار درجة واحدة

يعني زي ما اتفقنا انه مثلا هايكون -150 في الأول

بالجملة دي هايكون -149 وطبعا هايفضل يزيد واحد زي ما انت قلتله وبالتالي بيظهر على الفرومة درجة درجة

خامسا

   If (Me.Label9.Left = Me.ClientSize.Width) Then
			Me.Label9.Left = 0 - Me.Label9.Width 'جعل العنوان في أسفل الشاشة حتى يكون مختفي تماما
		End If

ClientSize.Width يعني عرض الليبل على ما اعتقد

وبتقوله لو وضع الشمال بتاع الليبل = العرض معنى كدة انه وصل لنهاية الفورمة

هاتخليه يبدأ من اول سالب عرض هذه الفورمة يعني هايبدا من الأول

تم تعديل هذه المشاركة بواسطة MohamedAliSalim في 25 يونيو 2008 في 10:50

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

#3

شرح وافي جزاك الله خيري الدنيا و الآخرة و نفع بك

#4
Public Class Form1
	Public RightToLEFT As Boolean = False
	Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
		' الكود التالى لزيادة الخاصية ليفت بمقدار واحد
		Me.Label9.Left += 1
		' شرط لو تساوت الخاصية ليفت التابعة لليبل يعود الليبل لأقصى الشمال خارج الشاشة
		If (Me.Label9.Left = Me.ClientSize.Width) Then
			Me.Label9.Left = 0 - Me.Label9.Width 'جعل العنوان في أسفل الشاشة حتى يكون مختفي تماما
		End If
		' حتى يعود الليبل من اليمين للشمال يمكن استخدام الكود التالى
		' وذلك بعد حذف الأكواد السابقة
		' وبعد اضافة متغيير عام من نوع بولين لتحديد الاتجاه 

		If RightToLEFT = True Then
			Me.Label9.Left -= 1
		Else
			Me.Label9.Left += 1
		End If
		If Label9.Left = Me.ClientSize.Width - Label9.Width Then
			RightToLEFT = True
		End If
		If Label9.Left = 1 Then
			RightToLEFT = False
		End If
	End Sub

	Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
		Timer1.Enabled = True
	End Sub

	Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
		' الكود التالى لتعديل مكان الليبل عند بدء التشغيل
		Me.Label9.Top = Me.ClientSize.Height - Me.Label9.Height
		Me.Label9.Left = 0 - Me.Label9.Width
	End Sub
End Class

مواضيع مشابهة