سلام
من دکمه 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 MsgBoxForm_Load(object sender, EventArgs e)
{
if (MessageBox.status)
{
EnableMenuItem(GetSystemMenu(this.Handle, true), SC_CLOSE, MF_GRAYED);
}
else
{
EnableMenuItem(GetSystemMenu(this.Handle, false), SC_CLOSE, MF_GRAYED);
}
}
اما دیگه نمیتونم فعالش کنم همونطور که میبینید فکر کردم شاید اون متغیر boolean تاثیر داشته باشه که نداشت پس فکر کنم باید یه ثابت برای اونم باشه، لطفا کسی چیزی میدونه باید چیکارش کنم؟...
---------------------------------------------------------------------------------------------------------------
سلام به همه دوستای گلم بالاخره مشکل من حل شد البته با تشکر مخصوص از دوست خوبم B.I.O.H.A.Z.A.R.D فکر کنم مشکل همون ویندوز بود ایشون درست میگفتند کدی که به من دادند بدون مشکل کار میکنه خیلی خوشحالم
خب این همه تلاش برای درست کردن یه messagebox فارسی بود که البته نمونه هاش زیاده اما من میخواستم دقیقا مثل خود .net باشه فقط فارسی، مثل توجه به اینکه وقتی YesNo داری نباید بتونی کنسلش کنی واسه همین میخواستم دکمه close فرمم رو ببندم (تا جایی که دیدم بقیه دوستان به این نکته توجه نکردند ) و توی مواردی که cancel دارم دکمه close فعال باشه اینم لینک دانلودش
Farsi MessageBox.zip