PDA

View Full Version : حذف دکمه close



mazaher5723
جمعه 05 خرداد 1391, 16:54 عصر
سلام دوستان
چه جور میشه دکمه closeرو از پنجره فرممون حذف کرد؟
مرسی

mousa1992
جمعه 05 خرداد 1391, 17:29 عصر
سلام دوستان
چه جور میشه دکمه closeرو از پنجره فرممون حذف کرد؟
مرسی
سلام
خاصیت FormBorderStyle فرمت رو None بذار

فرید نجفلو
جمعه 05 خرداد 1391, 17:46 عصر
سلام
اگه می خواید از بسته شدن فرم جلو گیری کنید:

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
}


و اگه می خواید دکمه [x] غیر فعال بشه(کد رو به فرم اضافه کنید):

private const int CP_NOCLOSE_BUTTON = 0x200;
protected override CreateParams CreateParams
{
get
{
CreateParams myCp = base.CreateParams;
myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON;
return myCp;
}
}

va2012
جمعه 05 خرداد 1391, 18:12 عصر
ظاهرا منظور دوستمون این هست که کلا کنترل باکس مخفی بشه ولی قاب فرم باقی بمونه.(البته بدون اینکه فرم تکست داشته باشه). چون اگر تکست فرم حذف بشه قاب فرم هم حذف میشه ( مثل حالت None Border) ولی اگه فرم تکست داشته باشه میشه کل کنترل باکس رو مخفی کرد.

hamed_hossani
جمعه 05 خرداد 1391, 23:36 عصر
سلام
controlBox را در خاصیت فرم false کنید

ghazal_mohammady
یک شنبه 05 مرداد 1393, 13:53 عصر
سلام
اگه می خواید از بسته شدن فرم جلو گیری کنید:

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
}



[/CSHARP]
عرض ادب، ولی با این کار دکمه ای که رو فرممه و برای بستن برنامه هست نیز غیر فعال میشه که..

erfan_urchin
یک شنبه 05 مرداد 1393, 14:20 عصر
دوست عزیز اگه FormBorderStyle رو برابر None قرار بدی دکمه های Minimize و Restore Down هم حذف میشه که اصلا کار استانداردی نیست
شما نمیتونی دکمه Close رو حذف کنی اما میتونی غیرفعالش کنی با کد زیر
private const int SC_CLOSE = 0xF060;
private const int MF_GRAYED = 0x1;
[DllImport("user32.dll")]
private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
[DllImport("user32.dll")]
private static extern int EnableMenuItem(IntPtr hMenu, int wIDEnableItem, int wEnable);


private void Form1_Load(object sender, EventArgs e)
{
EnableMenuItem(GetSystemMenu(this.Handle, false), SC_CLOSE, MF_GRAYED);
}

erfan_urchin
یک شنبه 05 مرداد 1393, 14:38 عصر
عرض ادب، ولی با این کار دکمه ای که رو فرممه و برای بستن برنامه هست نیز غیر فعال میشه که..
بله با کد e.Cancel = true هر کاری باعث بسته شدن فرم بشه غیرفعال میشه اگه شما میخوای کاری کنی که با دکمه × بسته نشه اما با باتنی که خودتون که توی فرم گذاشتی بسته بشه باید یه کدی مثل زیر بنویسی
bool check = false;
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (check == false)
{
e.Cancel = true;
check = true;
}
}


private void button3_Click(object sender, EventArgs e)
{
check = true;
Application.Exit();
this.FormClosing += Form1_FormClosing;
}