29-11-19, 12:27 AM
السلام عليكم
ان شاء الله سوف اقوم بعمل مجموعة هائلة من الاكواد والمشاريع المصغرة عسى ان تحقق الفائدة لكم
الغاية من هذا المثال هو كيفية انشاء ادوات وقت التنفيذ واضافة الاحداث لها (Events) عن طريق الكود
وهذا هو الكود
المشروع بالمرفقات
اتمنى لكم التوفيق
ان شاء الله سوف اقوم بعمل مجموعة هائلة من الاكواد والمشاريع المصغرة عسى ان تحقق الفائدة لكم
الغاية من هذا المثال هو كيفية انشاء ادوات وقت التنفيذ واضافة الاحداث لها (Events) عن طريق الكود
وهذا هو الكود
PHP كود :
Public Class Form1
Public Const WM_NCLBUTTONDOWN = &HA1
Public Const HTCAPTION = 2
Private TextBox(10) As TextBox
Private Button(10) As Button
Dim numberOfButtons As Integer
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim newbox As TextBox
For i As Integer = 1 To 10
newbox = New TextBox
newbox.Size = New Drawing.Size(100, 20)
'ضبط خاصية الحجم
newbox.Location = New Point(130, 10 + 25 * (i - 1))
' ضبط خاصية الموقع
newbox.Name = "TextBox" & i
' الاسم البرمجي
newbox.Text = newbox.Name
' الاسم الظاهر الكابشن
AddHandler newbox.MouseDown, AddressOf TextBox_MouseDown
' هذه مهمة جداً وهي اضافة الحدث واعطاء اسم للبروسجير الذي سينفذ الكود المطلوب
TextBox(i) = newbox
Me.Controls.Add(newbox)
'
Next
' نفس الشرح في الاكواد السابقة ينطبق على هذه الاكواد ولكن هذه خاصة بازرار الامر
Dim Newbtn As Button
For i As Integer = 1 To 10
Newbtn = New Button
Newbtn.Size = New Drawing.Size(100, 20)
Newbtn.Location = New Point(10, 10 + 25 * (i - 1))
Newbtn.Name = "Button" & i
Newbtn.Text = Newbtn.Name
AddHandler Newbtn.MouseDown, AddressOf NewButton_MouseDown
Button(i) = Newbtn
Me.Controls.Add(Newbtn)
Next
End Sub
Friend Sub TextBox_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
' هذا الاجراء خاص بمكانية تحريك التكسات بوكس بالزر الايسر للماوس ولاحظ هو Friend sub
For i = 1 To 10
If e.Button = MouseButtons.Left Then
TextBox(i).Capture = False
Dim msg As Message = Message.Create _
(TextBox(i).Handle, WM_NCLBUTTONDOWN,
New IntPtr(HTCAPTION), IntPtr.Zero)
Me.DefWndProc(msg)
End If
Next i
End Sub
Friend Sub NewButton_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
' هذا الاجراء خاص بمكانية تحريك ازرار الامر بالزر الايسر للماوس ولاحظ هو Friend sub
For i = 1 To 10
If e.Button = MouseButtons.Left Then
Button(i).Capture = False
Dim msg As Message = Message.Create _
(Button(i).Handle, WM_NCLBUTTONDOWN,
New IntPtr(HTCAPTION), IntPtr.Zero)
Me.DefWndProc(msg)
End If
Next i
End Sub
End Class
المشروع بالمرفقات
اتمنى لكم التوفيق