PDA

View Full Version : مشکل کار با فرم ها



Mojtaba.Kh
شنبه 17 مرداد 1388, 11:49 صبح
سلام
برنامه بنده یک فرم اصلی داره و چندتا فرم دیگه که قراره داخ فرم اصلی باز بشن . ابتدا بنده از متد "شو دیالوگ" جهت نمایش فرم ها استفاده کردم ولی اونی که می خواستم نشد متاسفانه
و از متد"شو" استفاده کردم. و خاصیتشونو تنظیم کردم که در "تسک بار ویندوز" نشونشون نده.
اما وقتی فرمها رو "ماکسیمایز" میکنم داخل فرم اصلی باز نمیشه ؛
شما میگید چکار کنم که فرمهای فرعی تابع فرم اصلی باشند و داخل اون باز بشوند?

:قلب::قلب::قلب::قلب::قلب::قلب:: لب::قلب::قلب::قلب::قلب::قلب::ق ب::قلب::

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

:خجالت::خجالت::خجالت::خجالت:: جالت::خجالت::خجالت::خجالت::خ الت::

bahar_engineer
شنبه 17 مرداد 1388, 12:28 عصر
سوال اول ایشون سوال منم هست


در مورد سوال دوم

توی رویداد page_load بنویس



try
{
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(new System.Globalization.CultureInfo("fa-IR"));
}
catch
{
// do nothing
}

alireza_tavakol
شنبه 17 مرداد 1388, 13:17 عصر
Form2 f2 = new Form2();
this.IsMdiContainer = true;
f2.MdiParent = this;
f2.Show();

oldboy
شنبه 17 مرداد 1388, 13:20 عصر
در مورد سوال اول:

خاصیت IsMdiContainer رو برای فرم اصلی برابر با True قرار بده.
برای فرم های فرعی، قبل از Show کردن، خاصیت MdiParent رو برابر با فرم اصلی قرار بده.

mmramezani2101
شنبه 17 مرداد 1388, 13:34 عصر
سلام
برنامه بنده یک فرم اصلی داره و چندتا فرم دیگه که قراره داخ فرم اصلی باز بشن . ابتدا بنده از متد "شو دیالوگ" جهت نمایش فرم ها استفاده کردم ولی اونی که می خواستم نشد متاسفانه
و از متد"شو" استفاده کردم. و خاصیتشونو تنظیم کردم که در "تسک بار ویندوز" نشونشون نده.
اما وقتی فرمها رو "ماکسیمایز" میکنم داخل فرم اصلی باز نمیشه ؛
شما میگید چکار کنم که فرمهای فرعی تابع فرم اصلی باشند و داخل اون باز بشوند?

:قلب::قلب::قلب::قلب::قلب::قلب:: لب::قلب::قلب::قلب::قلب::قلب::ق ب::قلب::

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

:خجالت::خجالت::خجالت::خجالت:: جالت::خجالت::خجالت::خجالت::خ الت::


در مورد فارسی کردن صفحه کلید
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(System.Globalization.Cul tureInfo.CreateSpecificCulture("Fa")); //' just change the < FA > with any thing u want

Mojtaba.Kh
یک شنبه 18 مرداد 1388, 12:54 عصر
ممنونم دوستان مشکلاتم حل شد:لبخندساده::لبخندساده::لب ندساده::لبخندساده::لبخندسا ه:
اما:
زمانی که فرم فرزند داخل فرم مادر ظاهر میشه اگه اونو جابجا کنیم یا به کناره های فرم مادر ببریم یه "اسکرول بار افقی یا عمودی" داخل فرم مادر بوجود میاد.
حالا اگه نخواهیم اینطوری بشه باید چکار کرد؟
:کف::کف::کف::کف::کف::کف::کف::کف:: ف::کف::کف::کف:

Alireza Orumand
یک شنبه 18 مرداد 1388, 13:19 عصر
سلام
میتونید توی رویداد Move فرم های داخلی بررسی کنید که اگر X یا Y اونها کمتر از صفر شد، مقدارش مجددا تنظیم بشه که فرم از صفحه بیرون نره. برای هر چهار طرف فرم باید این کار رو انجام بدید. مثلا برای اینکه از سمت چپ فرم داخلی از فرم والد خارج نشه از کد زیر میتونید استفاده کنید


private void frmMoveTest_Move(object sender, EventArgs e)
{
if (this.Location.X < 0)
{
this.Location = new Point(0, this.Location.Y);
}
}

حالا برای بالا و پایین و راست هم همین کار رو باید تکرار کنید.
موفق باشید.

Mojtaba.Kh
دوشنبه 19 مرداد 1388, 13:37 عصر
متشکرم دوستان این یکی هم برطرف شد
اما:

هنگامی که فرم فرزند "ماکسیمایز" میشه دکمه های "کلوز و ریستور و مینیمایز" در گوشه سمت چپ منو فرم اصلی نمایش داده میشه
در حالی که من میخوام زیر منوی اصلی و در سمت راست ظاهر بشه

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