PDA

View Full Version : سوال: مشكل با مانيتورهاي Wide



baidin
چهارشنبه 06 خرداد 1388, 17:59 عصر
با سلام
يه مشكلي براي من پيش اومده و اون هم با مانيتورهاي wide
برنامه اي كه طراحي كرده ام روي مانيتور خودم كه wide نيست به خوبي فرم ها نمايش داده ميشه ولي وقتي اون را روي كامپوترهايي كه مانيتور آنها Wide هست اجرا ميكنم يه كمي انگار فرم كشيده ميشه و ظاهر فرم به زيبايي اول نخواهد بود
متشكرم

anooshiran
پنج شنبه 07 خرداد 1388, 11:55 صبح
سلام دوست عزيز

كد زير ارتفاع و پهناي فرم تو را با هر screen متفاوتي تطبيق ميده



Me.Width = My.Computer.Screen.Bounds.Width
Me.Height = My.Computer.Screen.Bounds.Height




و اين كد نيز براي كنترل كردن resolution مانيتوري است كه فرم روي آن اجرا ميشود. من اين را براي 600*8000 عنوان كرده ام. شما ميتوانيد براي resolution هاي متفاوتي كنترل كنيد




If Screen.PrimaryScreen.Bounds.Width = 800 AndAlso _
Screen.PrimaryScreen.Bounds.Height = 600 Then
Me.Size = New Size(Width, Height)
End If

anooshiran
پنج شنبه 07 خرداد 1388, 12:18 عصر
سلام دوست عزيز

براي اطلاعات بيشتر ميتواني از لينك زير استفاده كنيد.

http://msdn.microsoft.com/en-us/library/ms229605(VS.80).aspx

ali_mnkt
جمعه 08 خرداد 1388, 01:16 صبح
سلام دوست عزيز

كد زير ارتفاع و پهناي فرم تو را با هر screen متفاوتي تطبيق ميده



Me.Width = My.Computer.Screen.Bounds.Width
Me.Height = My.Computer.Screen.Bounds.Height


و اين كد نيز براي كنترل كردن resolution مانيتوري است كه فرم روي آن اجرا ميشود. من اين را براي 600*8000 عنوان كرده ام. شما ميتوانيد براي resolution هاي متفاوتي كنترل كنيد




If Screen.PrimaryScreen.Bounds.Width = 800 AndAlso _
Screen.PrimaryScreen.Bounds.Height = 600 Then
Me.Size = New Size(Width, Height)
EndIf



دوست عزیز می شه معادل c# اون کد ها رو هم بنویسی ؟ خیلی بهشون نیاز دارم.

در ضمن من یه برنامه با مانیتور wide نوشتم (فرم ها همه maximum size هستن) اما

در کامپیوتر هایی که wide نیستن اجرا می شه نصف فرم ها حذف می شه آیا با این روش

می شه مشگل حل بشه ؟ من عکس برنامه توی مانیتور غیر wide رو می ذارم

anooshiran
جمعه 08 خرداد 1388, 05:00 صبح
سلامم دوست عزيز

تبديل كه هابه #C به شكل زير است




{
this.Width = My.Computer.Screen.Bounds.Width;
this.Height = My.Computer.Screen.Bounds.Height;
}







{
if (Screen.PrimaryScreen.Bounds.Width == 800 & Screen.PrimaryScreen.Bounds.Height == 600) {
this.Size = new Size(Width, Height);
}
}

ali_mnkt
دوشنبه 11 خرداد 1388, 00:08 صبح
دوست عزیز من هنوز موفق به استفاده از کلمه my در c# نشدم یعنی اصلا my رو نمی شناسه

آیا از name space خاصی باید استفاده کنم ؟

anooshiran
دوشنبه 11 خرداد 1388, 01:12 صبح
سلام دوست عزيز

به جاي My از That استفاده كن

ali_mnkt
دوشنبه 11 خرداد 1388, 14:08 عصر
نه دوست عزیز بازم درست نشد :ناراحت: یعنی هیچ کلمه جایگزینی نداره ؟

anooshiran
دوشنبه 11 خرداد 1388, 15:23 عصر
سلام دوست عزيز

از كدهاي زير استفاده كن . خودم تست كردم




{

Screen scrn = Screen.FromControl(this);
this.Width = scrn.Bounds.Width;
this.Height = scrn.Bounds.Height;
}

anooshiran
دوشنبه 11 خرداد 1388, 15:32 عصر
سلام دوست عزيز

اين چند خط كد را برايت در يك پروژه نعريف كرده و تست كردم. كاملا جواب داد. باز هم اگر مشكلي بود در خدمت هستم.

mehrandinio
چهارشنبه 18 شهریور 1388, 20:05 عصر
خیلی ممنون سوال منم بود.
با تشکر.:لبخندساده:

Navid Asadi
پنج شنبه 19 شهریور 1388, 00:17 صبح
سلام یک سوال دارم:
چطور میشه تشخیص داد که یک مانیتو واید هست یا نه؟