PDA

View Full Version : فوکوس کردن روی فرم



samiasoft
دوشنبه 25 دی 1396, 08:29 صبح
سلام دوستان

همانطور که میدانید وقتی فرمی بصورت ShowDialog اجرا شده باشه روی فرم های پشت سرش هرچقدر کلیک کنید فقط همین فرم انتخاب میشه و صدای خطا مانندی میاد....امیدوارم منظورمو رسونده باشم

حال میخواستم ببینم ایا این حالت دستوری داره ؟ که روی فرمی که باز کردیم بتوانیم اینکارو انجام بدیم؟در حالتی که فرم ShowDialog نباشد.


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

Frm_Personels personels = new Frm_Personels();
if (Application.OpenForms.OfType<Frm_Personels>().Any() == false)
{
personels.Show();

}
else
{
//دستور فوکوس روی فرم

}

سوال دومم مربوط فرم پدر هستش که متاسفانه وقتی فرمی رو ismdicontiner میکنیم دیگر نمیشه بهش بک گرند اضافه کرد...برای حل این مساله چیکار باید کرد؟شاید بگید بجاش پیکچر باکس بزاریم روی فرم اما متاسفانه در این حالت پیکچرباکس بصورت topmost میشود و هرچه دستورات سند تو بک رو نوشتم تغییری نکرد!

ramtinak
دوشنبه 25 دی 1396, 14:27 عصر
سلام اینطوری:
Application.OpenForms[personels.Name].Focus();

اینو هم امتحان کن:
Application.OpenForms[personels.Name].BringToFront();


این یکی هم امتحان کن:
Application.OpenForms[personels.Name].Activate();

البته واسه این یکی بهتره رویداد Activated صفحه ات رو درست کنی و کد زیر رو داخلش بنویسی:
this.WindowState = FormWindowState.Normal;

موفق باشید.

samiasoft
دوشنبه 25 دی 1396, 21:55 عصر
تشکر از شما

اما برای حل مشکل بک گرند فرم درحالتی که فرم پدر هستش چیکار کنیم؟

وقتی تصویر رو به عنوان بک گرند قرار میدیم در بک گرند فرم هیچی نمایش داده نمیشود

---------------
ممنون میشوم سورس ضمیمه شده رو بررسی کنید. تصویر در پنل قرار گرفته اما وقتی میخواهم فرم فرزند رو اجرا کنم در پشت سر پنل قرار میگیره انگار!

samiasoft
سه شنبه 26 دی 1396, 01:49 صبح
فکر میکنم این تصویر برای بیان مشکلم مناسب باشه:

http://uupload.ir/files/ojqg_2018-01-16_021737.jpg

همانطورکه میبنید فرم فرزند در پشت سر پکچرباکس و پنل قرار گرفته اند:ناراحت:

درتاپیک زیر هم قبلنا بحث شده دراین باره و نتیجه ای نداشته...جزاینکه بیاییم هنگام نمایش فرم فرزند پیکچرباکس و پنل مخفی کنیم!
http://barnamenevis.org/showthread.php?411429-%D9%85%D8%B4%DA%A9%D9%84-%D8%AF%D8%B1-MDIForm&highlight=MdiParent