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

نام تاپیک: اجرا نشدن رویداد یک UserControl که برای فرم های برنامه ساخته ام

  1. #1
    کاربر دائمی آواتار morteza271
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    مشهد
    پست
    1,723

    اجرا نشدن رویداد یک UserControl که برای فرم های برنامه ساخته ام

    سلام دوستان.

    من با استفاده از UserControl یه هدر درست کردم که این هدر رو برای تمام فرم های برنامم گذاشتم.
    حالا چون هدر خود فرمها رو برداشتم میخوام وقتی کاربر روی هدری که خودم ساختم و گذاشتمش کلیک میکنه و میکشه فرمم جابجا بشه.

    برای اینکار در رویداد Mouse_Down هدر در هر فرم یه کدی نوشتم.
    ولی متاسفانه اصلا این رویداد اجرا نمیشه!!!
    به نظرتون مشکلش چیه؟؟
    چرا این رویداد اجرا نمیشه؟باید چیکارش کنم؟؟

    با تشکر

  2. #2
    VIP آواتار gwbasic
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    سن
    42
    پست
    982

    نقل قول: اجرا نشدن رویداد یک UserControl که برای فرم های برنامه ساخته ام

    رویداد Mouse_Down روبرای UserControl بنویس یا کنترلی که روی UserControl ت احتمالا Dock کردی و بعد از طریق خصوصیت parent مربوط به UserControl به Form ی که این UserControl در آن قرار داره دسترسی داری و می تونی DesktopLocation رو برای اون ست کنی

  3. #3
    کاربر دائمی آواتار morteza271
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    مشهد
    پست
    1,723

    نقل قول: اجرا نشدن رویداد یک UserControl که برای فرم های برنامه ساخته ام

    ممنونم دوست عزیز.
    من از خاصیت Location برای جابجایی فرم استفاده نمیکنم از کد زیر برای این کار استفاده مکینم:
     #region MoveForm
    public const int WM_NCLBUTTONDOWN = 0xA1;
    public const int HT_CAPTION = 0x2;

    [DllImportAttribute("user32.dll")]
    public static extern int SendMessage(IntPtr hWnd,
    int Msg, int wParam, int lParam);

    [DllImportAttribute("user32.dll")]
    public static extern bool ReleaseCapture();
    #endregion
    private void Label_Or_OtherComponent_MouseDown(object sender, MouseEventArgs e)
    {
    if (e.Button == MouseButtons.Left)
    {
    ReleaseCapture();
    SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
    }
    }


    که این کد با روشی که شما گفتین جواب نداد!!!
    میشه بگین چجوری با استفاده از Location میشه فرم رو جابجا کرد؟
    ممنون میشم یه نمونه کد برام بذارین.
    با تشکر...

  4. #4
    کاربر دائمی آواتار wolf_majid
    تاریخ عضویت
    آذر 1387
    محل زندگی
    اصفهان
    پست
    534

    نقل قول: اجرا نشدن رویداد یک UserControl که برای فرم های برنامه ساخته ام

    با روش شما تست کردم جواب داد

     public Form1()
    {
    InitializeComponent();
    userControl11.MouseDown += new MouseEventHandler(Label_Or_OtherComponent_MouseDow n);
    }

  5. #5
    کاربر دائمی آواتار morteza271
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    مشهد
    پست
    1,723

    نقل قول: اجرا نشدن رویداد یک UserControl که برای فرم های برنامه ساخته ام

    نقل قول نوشته شده توسط wolf_majid مشاهده تاپیک
    با روش شما تست کردم جواب داد

     public Form1()
    {
    InitializeComponent();
    userControl11.MouseDown += new MouseEventHandler(Label_Or_OtherComponent_MouseDow n);
    }
    شما چجوری از روش من استفاده کردین که جواب داد؟؟!!!
    من داخل UserControl کلی panel و عکس دارم ها!!!
    فکر کنم شما یه UserControl خالی گذاشتین و تست کردین.

  6. #6
    کاربر دائمی آواتار wolf_majid
    تاریخ عضویت
    آذر 1387
    محل زندگی
    اصفهان
    پست
    534

    نقل قول: اجرا نشدن رویداد یک UserControl که برای فرم های برنامه ساخته ام

    یک userControl با یک button و یک picBox درست کردم
    و کد حرکت فرمتون را توی کلاس فرم به کار بردم بعدم توی سازنده فرم تابع حرکت رو به رویداد mouse_Down کنترل کاربر اضافه کردم و جواب داد

  7. #7
    کاربر دائمی آواتار wolf_majid
    تاریخ عضویت
    آذر 1387
    محل زندگی
    اصفهان
    پست
    534

    نقل قول: اجرا نشدن رویداد یک UserControl که برای فرم های برنامه ساخته ام

    حق با شماست با panel و groupBox تست کردم جواب نداد.

    کد زیر را به کلاس فرمتون اضافه کنید
     private void AddEventToUserControl(Control _ctrl)
    {
    foreach (Control ctrl in _ctrl.Controls)
    {
    if (ctrl is GroupBox || ctrl is Panel)
    {
    ctrl.MouseDown += new MouseEventHandler(Label_Or_OtherComponent_MouseDow n);
    AddEventToUserControl(ctrl);
    }
    }
    }

    و این کد را به سازنده فرم
     AddEventToUserControl(userControl11);

    روی پنل و groupBox هم جواب میده

  8. #8
    کاربر دائمی آواتار morteza271
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    مشهد
    پست
    1,723

    نقل قول: اجرا نشدن رویداد یک UserControl که برای فرم های برنامه ساخته ام

    واقعا ازتون ممنونم که برای پیدا کردن راه حل وقت گذاشتین و کمکم کردین.خیلی لطف کردین با تشکر فراوان
    موفق باشید

  9. #9
    کاربر تازه وارد آواتار vesall
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    سرزمین پارسیان
    سن
    32
    پست
    92

    نقل قول: اجرا نشدن رویداد یک UserControl که برای فرم های برنامه ساخته ام

    منم همین کارارو میخوام بکنم، ولی هیچ سر در نیاوردم :دی میشه کد کامل رو بگذارید ؟

  10. #10
    کاربر دائمی آواتار ya30ien2
    تاریخ عضویت
    تیر 1390
    محل زندگی
    بوشهر-برازجان
    پست
    715

    نقل قول: اجرا نشدن رویداد یک UserControl که برای فرم های برنامه ساخته ام

    ادامه بحس به اینجا کشیده

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

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