PDA

View Full Version : سوال: تنظیم محل قرار گرفتن فرم توی صفحه



shadi khanum
یک شنبه 28 تیر 1388, 10:24 صبح
بازم سلام. میخاستم ببینم چجوری میشه محل قرار گرفتن فرم رو خودمون مشخص کنیم؟ Center screen و اینا رو نمیگما، یه محل خودمون مشخص کنیم. یا مثلا بگیم بره بچسبه به قسمت بالای فرم زیریش یا از اینجور چیزا؟
مرسی

shadi khanum
یک شنبه 28 تیر 1388, 14:32 عصر
چرا کسی جواب نمیده :( من لازم دارم!

parhamb
یک شنبه 28 تیر 1388, 15:30 عصر
سلام. می تونی از properties قسمت location مختصات بدی

shadi khanum
یک شنبه 28 تیر 1388, 15:39 عصر
میدونم، من تو برنامم چندتا فرم دارم، تو یکی از فرمها یه دکمه هست که روش که کلیک میکنم، یه فرم دیگه باز میشه. میخام به فرم دومم نسبت به فرم اول موقعیت بدم. یعنی بگم فرم جدید تو گوشه سمت چپ و بالای فرم زیریش بیاد. مرسی

parhamb
یک شنبه 28 تیر 1388, 19:00 عصر
بازم سلام . بالاخره تونستم اون چه که می خواستید رو بنویسم:
__________________________________________________ ____

توضیحات:
form1: فرم اولیه که ثابت هستش
form2: فرم دوم که متغیر هستش
* این کد ها را در Form_load بنویسید
__________________________________________________ ____

بالای فرم 1 :

Dim x, y, t, z As Integer
z = Me.Size.Height
t = Form1.Location.Y
y = Form1.Size.Height
x = Form1.Location.X
Me.Location = New System.Drawing.Point(x, t - z)پایین فرم 1 :

Dim x, y, t As Integer
t = Form1.Location.Y
y = Form1.Size.Height
x = Form1.Location.X
Me.Location = New System.Drawing.Point(x, t + y)سمت راست فرم 1 :

Dim x, y, t As Integer
t = Form1.Size.Width
x = Form1.Location.X
Me.Location = New System.Drawing.Point(x + y, t)سمت چپ فرم 1 :

Dim x, y, t, z, g As Integer
g = Me.Size.Width
z = Me.Size.Height
t = Form1.Location.Y
y = Form1.Size.Height
x = Form1.Location.X
Me.Location = New System.Drawing.Point(x - g, t)سمت چپ بالای فرم 1 :


Dim x, y, t, z, g As Integer
g = Me.Size.Width
z = Me.Size.Height
t = Form1.Location.Y
y = Form1.Size.Height
x = Form1.Location.X
Me.Location = New System.Drawing.Point(x - g, t - z)سمت چپ پایین فرم 1 :


Dim x, y, t, z, g As Integer
g = Me.Size.Width
z = Me.Size.Height
t = Form1.Location.Y
y = Form1.Size.Height
x = Form1.Location.X
Me.Location = New System.Drawing.Point(x - g, t + z)سمت راست بالای فرم 1 :


Dim x, y, t, z, g As Integer
g = Me.Size.Width
z = Me.Size.Height
t = Form1.Location.Y
y = Form1.Size.Width
x = Form1.Location.X
Me.Location = New System.Drawing.Point(x + y, t - z)سمت راست پایین فرم 1 :


Dim x, y, t, z, g As Integer
g = Me.Size.Width
z = Me.Size.Height
t = Form1.Location.Y
y = Form1.Size.Width
x = Form1.Location.X
Me.Location = New System.Drawing.Point(x + y, t + z)

امیدوارم به برنامتون کمک کنه

shadi khanum
سه شنبه 30 تیر 1388, 11:47 صبح
بسیار مرسی و ممنون:خجالت:

hossein-khoshseyar
جمعه 16 مرداد 1388, 20:39 عصر
از خصوصیت startup position هم می تونی استفاده کنی

rouzbeh_ziafati
شنبه 30 آبان 1388, 01:24 صبح
فرم من وقتی لود میشه تمام صفحه باید باشه اما وقتی که در برنامه از حالت ماکزیمم درمیارمش (restore) فرم در وسط صفحه قرار نمیگیره !!!!
چطور میشه کاری کرد که بعد ازاینکه فرم از ماکزیمایز خارج میشه وسط صفحه قرار بگیره !
دقت کنید این مشکل وقتی هست که در موقع لود شدن فرم ماکزیمایز باشه !

Hossis
شنبه 30 آبان 1388, 10:54 صبح
Private Sub Form1_MaximumSizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.MaximumSizeChanged
If Me.WindowState = FormWindowState.Normal Then CenterToScreen()
End Sub

ACorvinus
شنبه 30 آبان 1388, 11:52 صبح
بازم سلام. میخاستم ببینم چجوری میشه محل قرار گرفتن فرم رو خودمون مشخص کنیم؟ Center screen و اینا رو نمیگما، یه محل خودمون مشخص کنیم. یا مثلا بگیم بره بچسبه به قسمت بالای فرم زیریش یا از اینجور چیزا؟
مرسی


از منوی Properties مربوط به فرم دومتون خاصیت StartPosition رو به Manual تغییر بدین.

در فرم دومتون این کد رو بنویسین:



Public Sub New(ByVal X As Integer, ByVal Y As Integer)
InitializeComponent()
Me.Location = New System.Drawing.Point(X, Y)
End Sub



حالا در هر جایی از فرم اولتون که فرم دومتون رو فراخوانی می کنین این کد رو بنویسین:



Dim frm As New NextForm(Me.Location.X, Me.Location.Y)
frm.ShowDialog()



این روش هم خوانایی داره هم قابل فهم تره . (البته به نظر من!)

rouzbeh_ziafati
شنبه 30 آبان 1388, 23:34 عصر
Private Sub Form1_MaximumSizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.MaximumSizeChanged
If Me.WindowState = FormWindowState.Normal Then CenterToScreen()
End Sub




ممنون
اما امتحانش کردم جواب نداد .
اما این کد کار کرد

Private Sub frm1_main_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SizeChanged
If Me.WindowState = FormWindowState.Normal Then CenterToScreen()
End Sub

aria2006
دوشنبه 31 فروردین 1394, 11:14 صبح
سلام
در سی شارپ باید این کد در رویداد Resize فرم نوشته بشه


if (this.WindowState == FormWindowState.Normal)
}

;() CenterToScreen
{