کشیدن مستطیل با طول و عرضی که کاربر میده؟؟
سلام دوستان..
لطفا کمکم کنین میخوام دوتا تکست باکس توی فرمم بذارم که یکی طول و یکی عرض باشه و بعد ز اینکه کاربر طول و عرض مورد نظرشو داخل تکست باکس زد بعد از زدن دکمه اون مستطیل رسم بشه.
میدونم چه جوری میشه تویخوده برنامه اندازه ها رو تعریف کرد اما میخوام حتما این اندازه از کاربر گرفته بشه بعد رسم بشه.:چشمک:
ممنون از همگی
1 ضمیمه
نقل قول: کشیدن مستطیل با طول و عرضی که کاربر میده؟؟
دوست عزيز اميد وارم كه منظورتون رو درست فهميده باشم
يه مثال براتون آماده كرم
نقل قول: کشیدن مستطیل با طول و عرضی که کاربر میده؟؟
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim G AsGraphics = Me.CreateGraphics
Dim X AsInteger = Val(TextBox2.Text)
Dim Y AsInteger = Val(TextBox3.Text)
G.DrawRectangle(Pens.Blue, 100, 100, X, Y)
EndSub
نقل قول: کشیدن مستطیل با طول و عرضی که کاربر میده؟؟
ممنون
حالا چه جوری کاربر میتونه یه خط داخل این مستطیل بکشه؟
نقل قول: کشیدن مستطیل با طول و عرضی که کاربر میده؟؟
خود كاربر اينكارو بكنه؟
با كشيدن موس؟
1 ضمیمه
نقل قول: کشیدن مستطیل با طول و عرضی که کاربر میده؟؟
دوست عزيز اين هم يه نمونه خيلي ساده واسه كاري كه شما ميخوايد انجام بديد
اميد وارم به كارتون بياد
Dim X, Y, _X, _Y AsInteger
Dim Clicks AsInteger = 0
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text <> ""And TextBox2.Text <> ""Then
Dim Graphic As Graphics = MyBase.CreateGraphics
Graphic.FillRectangle(Brushes.SpringGreen, 50, 100, CInt(TextBox2.Text), CInt(TextBox1.Text))
Graphic.DrawRectangle(Pens.Black, 50, 100, CInt(TextBox2.Text), CInt(TextBox1.Text))
Graphic.Dispose()
EndIf
EndSub
PrivateSub Form1_MouseClick(ByVal sender AsObject, ByVal e As System.Windows.Forms.MouseEventArgs) HandlesMe.MouseClick
SelectCase Clicks
Case 0
X = e.X
Y = e.Y
Clicks = 1
Case 1
_X = e.X
_Y = e.Y
Clicks = 0
EndSelect
EndSub
PrivateSub Form1_MouseMove(ByVal sender AsObject, ByVal e As System.Windows.Forms.MouseEventArgs) HandlesMe.MouseMove
If Clicks = 1 Then
_X = e.X
_Y = e.Y
Line()
EndIf
EndSub
PrivateSub Line()
Dim Graphic As Graphics = MyBase.CreateGraphics
Graphic.Clear(Me.BackColor)
If TextBox1.Text <> ""And TextBox2.Text <> ""Then
Graphic.FillRectangle(Brushes.SpringGreen, 50, 100, CInt(TextBox2.Text), CInt(TextBox1.Text))
Graphic.DrawRectangle(Pens.Black, 50, 100, CInt(TextBox2.Text), CInt(TextBox1.Text))
EndIf
Graphic.DrawLine(Pens.Red, X, Y, _X, _Y)
Graphic.Dispose()
EndSub
نقل قول: کشیدن مستطیل با طول و عرضی که کاربر میده؟؟
Dim Col As New Collection
Dim Clicks As Int16
Dim X, Y, _X, _Y As Integer
Private Sub Form1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseClick
Select Case Clicks
Case 0
X = e.X
Y = e.Y
Clicks = 1
Case 1
_X = e.X
_Y = e.Y
Clicks = 0
Col.Add(X & "," & Y & "," & _X & "," & _Y)
End Select
End Sub
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
If Clicks = 1 Then
_X = e.X
_Y = e.Y
Line()
End If
End Sub
Private Sub Line()
Dim Graphic As Graphics = MyBase.CreateGraphics
Graphic.Clear(Me.BackColor)
Dim Sp()
For i = 1 To Col.Count
Sp = Split(Col.Item(i), ",")
Graphic.DrawLine(Pens.Red, CInt(Sp(0)), CInt(Sp(1)), CInt(Sp(2)), CInt(Sp(3)))
Next
Graphic.DrawLine(Pens.Blue, X, Y, _X, _Y)
Graphic.Dispose()
End Sub