PDA

View Full Version : سوال: قرار گرفتن فرم در گوشه ی پایین سمت راست دسکتاپ



sajadzare
جمعه 27 تیر 1393, 16:57 عصر
سلام دوستان

شاید سوالم خیلی پیشپا افتاده باشه . من می دونم فرم یه خاصیت داره به نام location که x,y بهش میدی و در اون نقطه اجرا میشه ولی من می خوام که رزولوشن صفحه دسکتاپ هر چی باشه فرمم پایین ترین قسمت سمت راست دسکتاپ اجرا بشه مثل گجت های ویندوز 7

مثلا فرمی دارم که یه کار ساده میکنه مثلا چک میکنه ببینه کدوم سرورها وصل هستند میخوام فرمم در حد یه گجت با سایز کوچیک باشه . همیشه پایین دسکتاپ باشه نه اینکه من دستی ببرم بذارمش اونجا

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

abbas.oveissi
جمعه 27 تیر 1393, 17:17 عصر
سلام دوستان

شاید سوالم خیلی پیشپا افتاده باشه . من می دونم فرم یه خاصیت داره به نام location که x,y بهش میدی و در اون نقطه اجرا میشه ولی من می خوام که رزولوشن صفحه دسکتاپ هر چی باشه فرمم پایین ترین قسمت سمت راست دسکتاپ اجرا بشه مثل گجت های ویندوز 7

مثلا فرمی دارم که یه کار ساده میکنه مثلا چک میکنه ببینه کدوم سرورها وصل هستند میخوام فرمم در حد یه گجت با سایز کوچیک باشه . همیشه پایین دسکتاپ باشه نه اینکه من دستی ببرم بذارمش اونجا

ممنون میشم راهنمایی کنین
مطمئن نیستم خودم چون تست نکردم اما فکر کنم این راه که میگم جواب بده.شما میتوانید رزولوشن تصویر رو با یک خط کد بدست بیارید،مثل کد نمونه ی زیر :
Rectangle resolution = Screen.PrimaryScreen.Bounds;
Console.WriteLine(resolution.Width + " " + resolution.Height);
حالا با توجه به رزولوشن مانیتور جوری فرم رو تنظیم کنید تا در گوشه نمایش داده شود.

golestan1
جمعه 27 تیر 1393, 17:29 عصر
//نمايش فرم از سمت راست دسکتاپ
رفرنس را اضافه کن از قسمت اد رفرنس تب - نت PresentationFramework
//عدد 125 را مي توان تغيير داد



حالا در فرم لود کد زیر رو قرار بده


this.Top = (int)System.Windows.SystemParameters.VirtualScreen Height - 125;
this.Left = (int)System.Windows.SystemParameters.VirtualScreen Width - 125;

aboulfazl950
جمعه 27 تیر 1393, 17:33 عصر
توی فرم لود بنویسید:


int boundWidth = Screen.PrimaryScreen.Bounds.Width;
int boundHeight = Screen.PrimaryScreen.Bounds.Height;
int x = boundWidth - this.Width;
int y = boundHeight - this.Height;
this.Location = new Point(x,y-40);

keyone72
شنبه 28 تیر 1393, 08:32 صبح
این تابعش فقط کافیه تو فرم لود صداش بزنی


private void SetValues()
{
int xPos = 0;
int yPos = 0;
xPos = Screen.GetWorkingArea(this).Width;
yPos = Screen.GetWorkingArea(this).Height;
this.Location = new Point(xPos - this.Width, yPos - this.Height);
}

omid nasri
شنبه 28 تیر 1393, 11:33 صبح
این مهم نیست الان فرم کجا باشه اصلا مهم نیست زمانی مهم میشه که بتونی بفهمی که ایا تسک بار مخفی هستش یا نه اگه مخفی هستش 30 px رو اضافه منه وگر نه 30 تا رو گم کنه از پایین درسته؟
لطفا جواب بدید که چطور میشه فهمید؟

abbas.oveissi
شنبه 28 تیر 1393, 18:39 عصر
این مهم نیست الان فرم کجا باشه اصلا مهم نیست زمانی مهم میشه که بتونی بفهمی که ایا تسک بار مخفی هستش یا نه اگه مخفی هستش 30 px رو اضافه منه وگر نه 30 تا رو گم کنه از پایین درسته؟
لطفا جواب بدید که چطور میشه فهمید؟
فکر کنم در این لینک جوابتون رو بگیرید : http://stackoverflow.com/questions/2032461/how-can-i-determine-programmatically-whether-the-windows-taskbar-is-hidden-or-no