PDA

View Full Version : تغییر startposition فرم در زمان اجرا



yekta64
شنبه 26 تیر 1389, 10:58 صبح
سلام دوستان
من می خوام startposition فرمم در زمان اجرا روی centerscreen تنظیم کنم برای این کار در رویداد load فرمم این خط کد رو می نویسم :



Me.StartPosition = FormStartPosition.CenterScreen


منتها این کد عمل نمی کنه و position فرم در زمان لود شدن فرم در زمان اجرا تغییر نمی کنه علت چی هستش؟؟؟
ممنون

vbworm
شنبه 26 تیر 1389, 12:14 عصر
من چیزی راجع بهش پیدا نکردم ولی اگه شما میخوای در زمان اجرای برنامه فرمی رو وسط صفحه بذاری از لینک زیر کمک بگیر :

http://barnamenevis.org/forum/showthread.php?t=234336

mhmoein
شنبه 26 تیر 1389, 15:14 عصر
دوست عزیز این کد رو داخل رویداد Resize فرم قرار بده مثل این کد :



Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
Me.StartPosition = FormStartPosition.CenterScreen
End Sub

yekta64
شنبه 26 تیر 1389, 15:16 عصر
دوست عزیز تاپیکی که شما معرفی کردید همون کدی رو نوشته که من هم نوشتم منتها جواب نمی ده نمی دونم علت چی هستش
ممنون میشم راهنمایی کنید

nasim bahari
شنبه 26 تیر 1389, 18:23 عصر
سلام دوستان
من می خوام startposition فرمم در زمان اجرا روی centerscreen تنظیم کنم برای این کار در رویداد load فرمم این خط کد رو می نویسم :



Me.StartPosition = FormStartPosition.CenterScreen
منتها این کد عمل نمی کنه و position فرم در زمان لود شدن فرم در زمان اجرا تغییر نمی کنه علت چی هستش؟؟؟
ممنون

یه بار پروژه تو Rebulid کن. راستی خاصیت های Lock و Border فرم رو چی تنظیم کردی ؟

yekta64
شنبه 26 تیر 1389, 23:13 عصر
یه بار پروژه تو Rebulid کن. راستی خاصیت های Lock و Border فرم رو چی تنظیم کردی ؟

lock رو مقدار دیفالت خودش و border رو none تعریف کردم ایا تعریف border و lockدر تعیین position فرم در زمان اجرا موثر هستش؟؟؟

vbworm
شنبه 26 تیر 1389, 23:34 عصر
منم گفتم کمک بگیری نه اینکه سورسش اونجاست - کدش میشه این :


YourForm.Left = (Screen.Width - YourForm.Width) / 2
YourForm.Top = (Screen.Height - YourForm.Height) / 2

yekta64
یک شنبه 27 تیر 1389, 10:07 صبح
منم گفتم کمک بگیری نه اینکه سورسش اونجاست - کدش میشه این :


YourForm.Left = (Screen.Width - YourForm.Width) / 2
YourForm.Top = (Screen.Height - YourForm.Height) / 2



مرسی دوست عزیز حالا یه مشکل و یه سوال
مشکل اینکه چرا screen متد width و height رو نداره ایا باید namespace خاصی رو وارد کنم؟؟؟

سوال اینکه:
من در ابتدا می خوام ابعاد فرم رو به یه سایز مشخص کم کنم و بعد فرم رسایز شده رو در مرکز صفحه قرار بدم ولی نمی تونم این کار رو انجام بدم چرا؟؟؟؟

ممنون میشم راهنمایی کنید..

vbworm
یک شنبه 27 تیر 1389, 15:15 عصر
خوب اول فرمتون رو Resize کنید بعد از این کد استفاده کنید , و اگه میخوایید وقتی فرم رو دستی Resize میکنید بازم وسط باشه ، کد رو توی رویداد Resize فرمتون بذارید.

کد تصحیح شده : :خجالت:


Dim Screen As System.Windows.Forms.Screen = System.Windows.Forms.Screen.PrimaryScreen
YourForm.Left = (Screen.Bounds.Width - YourForm.Width) / 2
YourForm.Top = (Screen.Bounds.Height - YourForm.Height) / 2