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

نام تاپیک: غیر فعال کردن دکمه ی close فرم

  1. #1

    غیر فعال کردن دکمه ی close فرم

    با سلا م خدمت دوستان عزیزدر vb.net چگونه میتوان دکمه ی close فرم را غیر فعال کرد.
    با تشکر

  2. #2
    کاربر دائمی آواتار leilav_1984
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    تهران
    پست
    307
    اول اینکه می تونی اصلا نشونش ندی
    Me.FormBorderStyle=FormBorderSyles.None
    یا اینکه رویداد FormClosing رو ایجاد کنی و توش :
    e.Cancel=True

  3. #3
    کاربر دائمی آواتار eyelash
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران- اصفهان
    پست
    126
    حالا چه جوری می شه برای رویذاذ Close فرم کد نویسی کرد

  4. #4
    کاربر دائمی آواتار Amir Taghavi
    تاریخ عضویت
    مهر 1384
    محل زندگی
    من از شهر عشقم ولی دلشکسته
    پست
    510
    سلام

    از این کد استفاده کن:

    Public Class CloseButton

    Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Integer, ByVal revert As Integer) As Integer
    Private Declare Function EnableMenuItem Lib "user32" (ByVal menu As Integer, ByVal ideEnableItem As Integer, ByVal enable As Integer) As Integer

    Private Const SC_CLOSE As Integer = &HF060
    Private Const MF_BYCOMMAND As Integer = &H0
    Private Const MF_GRAYED As Integer = &H1
    Private Const MF_ENABLED As Integer = &H0

    Public Shared Sub Disable(ByVal form As System.Windows.Forms.Form)

    Select Case EnableMenuItem(GetSystemMenu(form.Handle.ToInt32, 0), SC_CLOSE, MF_BYCOMMAND Or MF_GRAYED)
    Case MF_ENABLED
    Case MF_GRAYED
    Case &HFFFFFFFF
    Throw New Exception("The Close menu item does not exist.")
    Case Else
    End Select
    End Sub
    End Class

  5. #5
    با سلام

    شاید این یکی بهتر باشه

    me.controlbox=false

  6. #6
    برای نوشتن کد در Close میتونی در قسمت Close را به جای Load انتخاب کنید

  7. #7
    کاربر دائمی آواتار eyelash
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران- اصفهان
    پست
    126
    گویا سوالم را درست مطرح نکردم
    من می خوام وقتی کاربر دکمه Close فرم را انتخاب کرد مثلا برای خروج از فرم ازش تایید بگیرم یا اینکه یه سری تغیرات انجام بدم بعد فرم بسته بشه یا اینکه اصلاً فرم بسته نشه.

  8. #8
    نقل قول نوشته شده توسط eyelash مشاهده تاپیک
    گویا سوالم را درست مطرح نکردم
    من می خوام وقتی کاربر دکمه Close فرم را انتخاب کرد مثلا برای خروج از فرم ازش تایید بگیرم یا اینکه یه سری تغیرات انجام بدم بعد فرم بسته بشه یا اینکه اصلاً فرم بسته نشه.
    نقل قول نوشته شده توسط leilav_1984 مشاهده تاپیک
    یا اینکه رویداد FormClosing رو ایجاد کنی و توش :
    e.Cancel=True
    کد بالا قبل از بسته شدن فرم اجرا میشه و در صورت True بودن e.Cancel پروسه بسته شدن فرم کنسل خواهد شد
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  9. #9
    کاربر دائمی آواتار Payam Moradi
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    بيرجند
    سن
    40
    پست
    524
    گویا سوالم را درست مطرح نکردم
    من می خوام وقتی کاربر دکمه Close فرم را انتخاب کرد مثلا برای خروج از فرم ازش تایید بگیرم یا اینکه یه سری تغیرات انجام بدم بعد فرم بسته بشه یا اینکه اصلاً فرم بسته نشه.
    چنین قابلیتی که دوست عزیز میگه در VB 6.0 وجود داشت ولی در دات نت وجود نداره. باید یک متغییر تعریف کرد و در متغییر تنظیم بشه که آیا فرم توسط منو سیستمی بسته میشه یا توسط کدی که کاربر نوشته.!!!

  10. #10
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    نقل قول نوشته شده توسط Payam Moradi مشاهده تاپیک
    چنین قابلیتی که دوست عزیز میگه در VB 6.0 وجود داشت ولی در دات نت وجود نداره. باید یک متغییر تعریف کرد و در متغییر تنظیم بشه که آیا فرم توسط منو سیستمی بسته میشه یا توسط کدی که کاربر نوشته.!!!
    همانطوری که titbasoft فرمودند این قابلیت در دات‌نت وجود داره .

  11. #11
    شما با همون e.cancel کار کن در ضمن توی formclosing ‌یک فرم دیگه صدا بزن اگه مثلا کاربر بله رو زد با application.exitthread بکشش بیرون

  12. #12
    کاربر دائمی آواتار Payam Moradi
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    بيرجند
    سن
    40
    پست
    524
    همانطوری که titbasoft فرمودند این قابلیت در دات‌نت وجود داره .
    لطفا بفرمایید چطور میشه فرق Unload شدن با منوی سیستمی(Close) و بسته شده توسط کدی که نوشتم(مثلا کلید Cancel) در روال FormClosing یا FormClosed متوجه بشوم.

    شاید مختص .net 2003 هست و در 2005 وجود نداره!؟

    اگر بگید مشکل من حل بشه!

  13. #13
    کاربر دائمی آواتار mostafa_leman
    تاریخ عضویت
    اسفند 1383
    محل زندگی
    نیشابور
    پست
    187
    ببینید شما از هر روشی که استفاده کنید رویداد بستن فرم ( FORMCLOSING ) انجام میشه . حالا اگه میخواین وقت بستن فرم عملی رو انجام بده توی این رویداد باید بنویسین و اگه خواستین عمل بستن فرم انجام نشه باید این رویداد رو کنسل کنید ---> E.CANCEL = TRUE را وارد نمایید

  14. #14
    دوست من شما می توانید در خصوصیت Finaliz هر چه می خواهید بنویسید هنگامی که کاربر کلید Close را زد اتفاق می افتد
    متشکرم مسعود ormasoud@yahoo.com

  15. #15
    کاربر دائمی آواتار ali_kolahdoozan
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اون سر دنیا
    پست
    1,631
    تابع برای disable کردن دکمه close هست .

    using System;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;
    publicclassCloseButton
    {
    #region Interop Code
    privateconstint SC_CLOSE = 0xF060;
    privateconstint MF_BYCOMMAND = 0x0;
    privateconstint MF_GRAYED = 0x1;
    privateconstint MF_ENABLED = 0x0;
    [DllImport("user32.dll", SetLastError = true)]
    privatestaticexternint GetSystemMenu(IntPtr hWnd, int revert);
    [DllImport("user32.dll", SetLastError = true)]
    privatestaticexternint EnableMenuItem(int menu, int ideEnableItem, int enable);
    #endregion
    publicstaticvoid Disable(Form form)
    {
    IntPtr hWnd = form.Handle;
    int SystemMenu = GetSystemMenu(hWnd, 0);
    int PreviousState = EnableMenuItem(SystemMenu, SC_CLOSE, MF_BYCOMMAND | MF_GRAYED);
    if (PreviousState == -1)
    thrownewException("The close menu does not exist");
    }
    }


    حالا طرز استفاده
    add this code to a class named: CloseButton
    then in formload :CloseButton.Disable(this);


    آخرین ویرایش به وسیله titbasoft : شنبه 30 دی 1385 در 12:23 عصر دلیل: استفاده از تگ کد

  16. #16
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    تهران
    پست
    47

    غیر فعال کردن دکمه بست فرم

    ابتدا متغیرهای زیر را تعریف کنید

    Private _closeClick As Boolean
    Public Const SC_CLOSE As Integer = 61536
    Public Const WM_SYSCOMMAND As Integer = 274


    سپس سابروتین زیر
    Protected Overloads Overrides Sub WndProc(ByRef m As message)


    If m.Msg = WM_SYSCOMMAND AndAlso m.WParam.ToInt32 = SC_CLOSE Then

    Exit Sub

    Else


    Me._closeClick = True
    End If


    MyBase.WndProc(m)

    End Sub


    http://alaasabzpoush.blogsky.com/
    آخرین ویرایش به وسیله titbasoft : شنبه 30 دی 1385 در 12:22 عصر دلیل: تگ کد

  17. #17
    کاربر دائمی آواتار ali_kolahdoozan
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اون سر دنیا
    پست
    1,631
    میشه یک توضیحی بدید؟ چون من متوجه نشدم

  18. #18
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    تهران
    پست
    47
    کافیست کد فوق را در برنامه خودت تایپ کنید برنامه دکمه بستن با استفاده از ثابت دوم غیر
    فعال می شود من این سورس را در کل برنامه هایم در هر فرم استفاده کردم بهترین بود

  19. #19

    نقل قول: غیر فعال کردن دکمه ی close فرم

    بابا دستمریزاد.... یا به قول خودمون بابا ایول

تاپیک های مشابه

  1. جلوگیری از Alt + F4 و بستن فرم بدون استفاده از Close
    نوشته شده توسط احمد سامعی در بخش C#‎‎
    پاسخ: 5
    آخرین پست: یک شنبه 06 مهر 1393, 18:45 عصر
  2. دکمه Close
    نوشته شده توسط sunboy در بخش برنامه نویسی در 6 VB
    پاسخ: 5
    آخرین پست: پنج شنبه 18 مهر 1387, 19:02 عصر
  3. زوم و دکمه close در کریستال ریپورت
    نوشته شده توسط shervin110uk در بخش VB.NET
    پاسخ: 0
    آخرین پست: شنبه 18 شهریور 1385, 16:24 عصر
  4. کاربرد دستور close
    نوشته شده توسط programmermp در بخش VB.NET
    پاسخ: 0
    آخرین پست: چهارشنبه 20 مهر 1384, 04:35 صبح
  5. کنترل دکمه close فرم
    نوشته شده توسط rezaei manesh در بخش VB.NET
    پاسخ: 3
    آخرین پست: یک شنبه 03 مهر 1384, 23:49 عصر

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

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