View Full Version : سوال: بزرگ و کوچک کردن فرم بدون Border
ali reza mansoori 2
شنبه 16 دی 1391, 21:17 عصر
سلام
فرم رو بدون Border کردم و اطراف اون هشت تا دکمه گذاشتم (چهار تا گوشه ها و چهار تا چپ و راست و بالا و پایین)
میخوام اندازه فرم رو با کلیک کردن روی این دکمه ها و کشیدن به طرفین کوچک و بزرگ کنم
SHD.NET
شنبه 16 دی 1391, 22:28 عصر
سلام
بفرما :
http://social.msdn.microsoft.com/forums/en-US/vblanguage/thread/6e5c1da4-b535-4226-b7c8-c6cef2c0c21f
http://stackoverflow.com/questions/2575216/resize-winform-with-no-border
http://bytes.com/topic/c-sharp/answers/247614-making-form-resizable-formborderstyle-none
http://www.pcreview.co.uk/forums/formborderstyle-none-resize-window-t1361278.html
http://www.vbforums.com/showthread.php?570918-How-to-resize-a-form-with-FormBorderStyle-is-none
:چشمک:\\\موفق باشید///:چشمک:
xxnagin
یک شنبه 17 دی 1391, 10:27 صبح
سلام
لازم به دکمه نداره
PrivateSub form1_MouseDown(ByVal sender AsObject, ByVal e As System.Windows.Forms.MouseEventArgs) Handles me.MouseDown
If e.Button = MouseButtons.Left Then
Label1.Cursor = Cursors.PanNW
EndIf
EndSub
PrivateSub form1_MouseMove(ByVal sender AsObject, ByVal e As System.Windows.Forms.MouseEventArgs) Handles me.MouseMove
If e.Button = MouseButtons.Left Then
Me.SetBounds(Me.Location.X, Me.Location.Y, (Control.MousePosition.X - (Me.Left)) + 10, (Control.MousePosition.Y - Me.Top) + 10)
Me.Refresh()
EndIf
EndSub
PrivateSub form1_MouseUp(ByVal sender AsObject, ByVal e As System.Windows.Forms.MouseEventArgs) Handles me.MouseUp
Label1.Cursor = Cursors.Default
EndSub
و این تایپیک (http://barnamenevis.org/showthread.php?322974-آموزش-کنترل-های-پر-کاربرد-بسته-ی-DevComponents&p=1421174&viewfull=1#post1421174) هم هستش
ali reza mansoori 2
یک شنبه 17 دی 1391, 21:20 عصر
دوستان خیلی ممنون
ولی کدهای که گذاشتید از سمت راست گوشه پایین میشه فرم رو بزرگ و کوچک کرد (خودم این روش رو میدونستم)
من میخوام مثل فرم معمولی از همه اطراف بشه کوچک و بزرگ کرد
gilsoft
یک شنبه 17 دی 1391, 23:49 عصر
من میخوام مثل فرم معمولی از همه اطراف بشه کوچک و بزرگ کرد
سلام دوست عزیز
خب برای سطر 8 پست 3# شرط بذاز (فکر کنم بهترین گزینه Select Case هست)
ali reza mansoori 2
دوشنبه 18 دی 1391, 09:27 صبح
خب برای سطر 8 پست 3# شرط بذاز (فکر کنم بهترین گزینه Select Case هست)
دوست عزیز متوجه نشدم
xxnagin
دوشنبه 18 دی 1391, 10:25 صبح
این برای همه جهت ها
Partial Public Class Form1
Private Const HTCAPTION As Integer = 2
Private Const HTLEFT As Integer = 10
Private Const HTRIGHT As Integer = 11
Private Const HTTOP As Integer = 12
Private Const HTTOPLEFT As Integer = 13
Private Const HTTOPRIGHT As Integer = 14
Private Const HTBOTTOM As Integer = 15
Private Const HTBOTTOMLEFT As Integer = 16
Private Const HTBOTTOMRIGHT As Integer = 17
Private Const WM_NCHITTEST As Integer = &H84
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
If m.Msg = WM_NCHITTEST Then
Dim pt As New Point(m.LParam.ToInt32)
pt = Me.PointToClient(pt)
If pt.X < 5 AndAlso pt.Y < 5 Then
m.Result = New IntPtr(HTTOPLEFT)
ElseIf pt.X > (Me.Width - 5) AndAlso pt.Y < 5 Then
m.Result = New IntPtr(HTTOPRIGHT)
ElseIf pt.Y < 5 Then
m.Result = New IntPtr(HTTOP)
ElseIf pt.X < 5 AndAlso pt.Y > (Me.Height - 5) Then
m.Result = New IntPtr(HTBOTTOMLEFT)
ElseIf pt.X > (Me.Width - 5) AndAlso pt.Y > (Me.Height - 5) Then
m.Result = New IntPtr(HTBOTTOMRIGHT)
ElseIf pt.Y > (Me.Height - 5) Then
m.Result = New IntPtr(HTBOTTOM)
ElseIf pt.X < 5 Then
m.Result = New IntPtr(HTLEFT)
ElseIf pt.X > (Me.Width - 5) Then
m.Result = New IntPtr(HTRIGHT)
Else
MyBase.WndProc(m)
End If
Else
MyBase.WndProc(m)
End If
End Sub
End Class
ali reza mansoori 2
دوشنبه 18 دی 1391, 11:46 صبح
دوست عزیز از این کد باید چجوری استفاده کرد
xxnagin
دوشنبه 18 دی 1391, 14:41 عصر
چه جوری نداره
border فرمت را به none تغییر بده
کد را داخل فرمت بذار
پروژه را اجرا کن از هر طرفی که خواستی فرم را تغییر سایز بده
ali reza mansoori 2
دوشنبه 18 دی 1391, 16:54 عصر
تشکر از همه دوستان
همون چیزی بود که دنبالش میگشتم
ولی منطق کارش رو نمیدونم چجوری
چون اینجا باید فضای آموزشی قالب بشه و این که شما کد بزاری و من کپی کنم و از کد سر در نیارم اصلا جالب نیست:لبخند:
دوستان اگر ممکنه یه توضیحی درباره کدها بدید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.