نمایش نتایج 1 تا 9 از 9

نام تاپیک: closebox

  1. #1

    closebox

    آیا میشه کاری کرد که closeBox , Enabel بالای فرم false بشه یعنی وقتی روی اون کلیک میکنیم وارد formclosing نشه؟

  2. #2
    اگه فقط میخوای فرمت بسته نشه
    تو همون formclosing میتونی رمند close شدن رو cancel کنی

  3. #3
    نه اینو نمی خوام میخوام Enabel علامت ضربدر بالای فرم false بشه شبیه کاری که میشه در foxpro انحام داد کسی نظری نداره

  4. #4
    نقل قول نوشته شده توسط iranrose63 مشاهده تاپیک
    آیا میشه کاری کرد که closeBox , Enabel بالای فرم false بشه یعنی وقتی روی اون کلیک میکنیم وارد formclosing نشه؟
    چرا نشه؟ همه کار میشه کرد. ابتدا تعاریف زیر رو به کلاستون اضافه کنید:

    private const Int32 SC_CLOSE = 0xF060;
    private const Int32 MF_GRAYED = 0x1;

    [DllImport("user32.dll")]
    private static extern IntPtr GetSystemMenu(IntPtr hWnd, Boolean bRevert);

    [DllImport("user32.dll")]
    private static extern Int32 EnableMenuItem(IntPtr hMenu, Int32 wIDEnableItem, Int32 wEnable);

    سپس، تو OnLoad فرم، کد زیر رو بنویسید:

    EnableMenuItem(GetSystemMenu(this.Handle, false), SC_CLOSE, MF_GRAYED);


    فراموش نکنید که باید System.Runtime.InteropServices namespace رو در کدتون declare کنید.

  5. #5
    واقعا ازت متشکرم یه مشکل بزرگ منو حل کردی تشکر

  6. #6
    حالا یه سوال دیگه دارم .
    میشه کاری کرد که کلید alt+f4 هم غیر فعال بشه یعنی با زدن این کلید ترکیبی وارد formclosing نشه؟

  7. #7
    نقل قول نوشته شده توسط iranrose63 مشاهده تاپیک
    حالا یه سوال دیگه دارم .
    میشه کاری کرد که کلید alt+f4 هم غیر فعال بشه یعنی با زدن این کلید ترکیبی وارد formclosing نشه؟

    بازم جواب من همونه. :) چرا نشه؟ همه کار میشه کرد. فقط باید تو کلاس فرمتون تابع WndProc رو بصورت زیر override کنید.


    protected override void WndProc(ref Message m)
    {
    const Int32 WM_SYSCOMMAND = 0x0112;
    const Int32 SC_CLOSE = 0xF060;

    if (m.Msg == WM_SYSCOMMAND && (Int32)m.WParam == SC_CLOSE)
    return;

    base.WndProc(ref m);
    }


  8. #8
    بابا ایول واقعا واقعا دمت گرم خیلی خیلی ممنونم
    میشه بهم بگید این چیزایی رو که شما برام نوشتید تو کدوم کتاب میتونم پیدا کنم
    بازم ممنون

  9. #9
    نقل قول نوشته شده توسط iranrose63 مشاهده تاپیک
    بابا ایول واقعا واقعا دمت گرم خیلی خیلی ممنونم
    میشه بهم بگید این چیزایی رو که شما برام نوشتید تو کدوم کتاب میتونم پیدا کنم
    بازم ممنون
    سلام.
    خواهش میکنم، قابلی نداشت. اما در مورد سوالتون، فکر نمی کنم هیچ کتابی در مورد این مسائل صحبت کنه، چون معمولا این جور چیزا عرف نیست و تعداد اندکی از برنامه ها هستن که چنین خصائصی دارن.

    به نظر من اولین چیزی که یه برنامه نویس ویندوز (جدا از زبان برنامه نویسی مورد علاقه اش) باید یاد بگیره، شناخت دقیق سیستم عاملی هستش که می خواد براش برنامه بنویسه. وقتی سیستم عامل رو شناخت، اونوقت می تونه اونطوری که مایله سیستم عامل رو به خدمت بگیره... اگر میخواهید واقعا تو ویندوز برنامه بنویسید، کتاب Charles Petzold رو حتما بخونید. این کتاب اطلاعات دقیقی از چگونگی کارکرد Application ها در Windows بهتون میده. البته برای برنامه نویسان C/CPP نوشته شده...

    در هر حال، اگر بازهم مشکلی بود در خدمتم.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •