PDA

View Full Version : کمک



behrooz277
یک شنبه 25 آذر 1386, 15:12 عصر
چگونه یک فرم را در وسط صفحه یک فرم دیگر (ام دی آی) می توان قرار داد
چون startupposition بر روی center فالت می دهد .
چگونه کمی توان آن را تنظیم کرد تا وسط قرار گیرد

اوبالیت به بو
یک شنبه 25 آذر 1386, 15:25 عصر
خودم هنوز تستش نکردم ببین این میشه:

Me.Left = (MDIForm1.Width + Me.Height) / 2
Me.Top = (MDIForm1.Height + Me.Width) / 2

behrooz277
یک شنبه 25 آذر 1386, 15:35 عصر
نه روش بالا درست نیست

reza_mn
یک شنبه 25 آذر 1386, 20:16 عصر
دوست عزیز جناب obalitjoOon : به نظر شما 2+1 با 1+2 فرقی میکنه ؟ ( به دو خط کدت توجه کن)
فکر کنم کدتو به شکل زیر اصلاح کنی جواب ده


me.left=(MDIForm1.Width - me.Width)/2
me.top=(MDIForm1.Height - me.Height ) /2

Mbt925
یک شنبه 25 آذر 1386, 22:04 عصر
دوست عزیز جناب obalitjoOon : به نظر شما 2+1 با 1+2 فرقی میکنه ؟ ( به دو خط کدت توجه کن)


دوست عزیز ورودتون رو به سایت تبریک می گم ،
حفظ شخصیت دوستان و خودتون خیلی مهم تر از برنامه نویسی حتی در سطح حرفه ای هست.

sajjad1365
یک شنبه 25 آذر 1386, 23:08 عصر
بسم الله. با سلام
Left = (Screen.Width - Width) / 2
Top = (Screen.Width - Screen.Height) / 8

مبین رنجبر
دوشنبه 26 آذر 1386, 09:27 صبح
دوست عزیز بهترین کار اینه که خودت با استفاده از مقدار دهی این کار رو انجام بدی ...

یعنی فرم رو بصورت دستی بیار وسط صفحه بعد مشخصه های Top و Left فرم رو که در وسط صفحه قرار داره رو به این صورت مقدار دهی کن :

Me.Top = 1258
Me.Left = 1243

این کد های بالا رو توی Form_Load بنویس

در ضمن عدد های گفته شده مثال هستند ..به جای این مختصات ، مختصات وسط رو بنویس

bobrus
دوشنبه 26 آذر 1386, 11:54 صبح
سلام بچه ها
من از این کد استفاده کردم و جواب هم گرفتم
در انیجا mdiform1 همون فرم مادره که بقیه فرمها توش قرار می گیرن


Form1_load()
Me.Left = MDIForm1.Left + (MDIForm1.Width / 2) - (Me.Width / 2)
Me.Top = MDIForm1.Top + (MDIForm1.Height / 2) - (Me.Height / 2)
End Sub

mononok
دوشنبه 26 آذر 1386, 19:32 عصر
دوست عزیز مقدار دهی کار مناسبی نیست بهتر است از یک حالت کلی استفاده کنی اگر از کد زیر استفاده کنی مشکلت حل میشه:چشمک:

Private Sub MDIForm_Load()
Form1.Top = (MDI.ScaleHeight) / 2 - (Form1.Height) / 2
Form1.Left = (MDI.ScaleWidth) / 2 - (Form1.Width) / 2
End Sub

Agha obalit
دوشنبه 26 آذر 1386, 21:12 عصر
خودم هنوز تستش نکردم ببین این میشه:

Me.Left = (MDIForm1.Width + Me.Height) / 2
Me.Top = (MDIForm1.Height + Me.Width) / 2

البته این کدی رو که من نوشتم برای زمانی هستش که Windows State برابر 2 یا Maximaize باشه!!

mosab_vb
دوشنبه 26 آذر 1386, 23:56 عصر
Private Sub MDIForm_Load()
Form1.Top = (Screen.Height - Form1.Height) / 2
Form1.Left = (Screen.Width - Form1.Width) / 2
Form1.Show
End Sub
این رو هم یه امتحان بفرمایید.موفق باشید.

bobrus
سه شنبه 11 دی 1386, 12:31 عصر
آقای mononok کدی که شما نوشتی با کدی که من نوشتم هیچ فرقی نداره یه کم توجه کن ؟!!
بالاخره نفهمیدیم این دوستمون که این تاپیک رو ساخته بود به نتیجه رسید یا نه؟