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

نام تاپیک: ایجاد کنترل و دادن رویداد به آن

  1. #1

    ایجاد کنترل و دادن رویداد به آن

    سلام
    من می خوام وقتی یک آیتم از کمبوباکس کلیک شد یک عکس در زمان اجرا ساخته بشه و رویداد MouseMove را هم به آن اختصاص بده
    من کدهای مربوط به اینکار را نوشتم اما وقتی موس را روی عکس ساخته شده حرکت میدم خطا میده



    private void pictureBox1_Click(object sender, EventArgs e)
    {
    PictureBox pic = new PictureBox();
    pic.Image = WindowsFormsApplication8.Properties.Resources.Aler t;
    pic.MouseMove += delegate { MouseMoveObj(pic, (MouseEventArgs)e); };
    this.Controls.Add(pic);

    }

    void MouseMoveObj(object btn, MouseEventArgs e)
    {
    MessageBox.Show("Test");
    }




    لطفا راهنمایی کنید چکار باید بکنم تا این خطا را نده؟
    متن خطا :
    Unable to cast object of type 'System.EventArgs' to type 'System.Windows.Forms.MouseEventArgs'

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

    نقل قول: ایجاد کنترل و دادن رویداد به آن

    من همین کد شما رو گذاشتم و درست کار کرد!!!
    اینطوری بنویسین ببینین درست میشه :
    private void pictureBox1_Click(object sender, EventArgs e)
    {
    PictureBox pic = new PictureBox();
    pic.Image = WindowsFormsApplication2.Properties.Resources.Help __1_;
    pic.MouseMove += new MouseEventHandler(pic_MouseMove);
    this.Controls.Add(pic);
    }

    private void pic_MouseMove(object sender, MouseEventArgs e)
    {
    MessageBox.Show("Test");
    }

  3. #3

    نقل قول: ایجاد کنترل و دادن رویداد به آن

    با عرض معذرت دستوراتی را که اون بالا هست را اشتباهی گذاشتم

    این کدی هست که من استفاده می کنم و خطا میده :
            private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
    PictureBox pic = new PictureBox();
    pic.Image = WindowsFormsApplication9.Properties.Resources.Aler t;
    pic.MouseMove += delegate { MouseMoveObj(pic, (MouseEventArgs)e); };
    this.Controls.Add(pic);
    }

    void MouseMoveObj(object btn, MouseEventArgs e)
    {
    MessageBox.Show("Test");
    }

    کد من زمانی خطا میده که موس را روی عکس ساخته شده حر کت میدم

    من می خوام وقتی روی یکی از آیتمهای کمبوباکس کلیک کردم دستورات ساختن عکس اجرا بشه

  4. #4

    نقل قول: ایجاد کنترل و دادن رویداد به آن

    کسی نمی دونه باید چکار کنم

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

    نقل قول: ایجاد کنترل و دادن رویداد به آن

    مشکل از کدتون نیست من دقیقا همون کد شما رو می نویسم ولی مشکلی نداره!!!
    شما اون کدی که من نوشتم رو امتحان کردین؟نتیجه چی شد؟

  6. #6
    کاربر دائمی آواتار Farshid007
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    Karaj
    پست
    1,249

    نقل قول: ایجاد کنترل و دادن رویداد به آن

    trooksi جان واسه شما delegate نیست شاید مشکل از همون باشه
    S_VB.max جان واسه چی delegate تعریف میکنی؟؟

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

    نقل قول: ایجاد کنترل و دادن رویداد به آن

    trooksi جان واسه شما delegate نیست شاید مشکل از همون باشه
    نه دوست عزیز من کد خودشون رو تست کردم و درست بود یعنی با delegate تست کردم و درست بود.
    بعد کد خودم رو نوشتم و براشون گذاشتم گفتم شاید درست باشه...
    من هر دو روش(کد دوستمون و کدی که خودم گذاشتم) رو تست کردم و درست بود و اصلا خطایی نمیده!!!

  8. #8

    نقل قول: ایجاد کنترل و دادن رویداد به آن

    نقل قول نوشته شده توسط troski مشاهده تاپیک
    نه دوست عزیز من کد خودشون رو تست کردم و درست بود یعنی با delegate تست کردم و درست بود.
    بعد کد خودم رو نوشتم و براشون گذاشتم گفتم شاید درست باشه...
    من هر دو روش(کد دوستمون و کدی که خودم گذاشتم) رو تست کردم و درست بود و اصلا خطایی نمیده!!!
    ممنون دوست عزیز کد شما را امتحان کردم جواب داد ولی با کد خودم خطا میده

    نقل قول نوشته شده توسط Farshid007 مشاهده تاپیک
    S_VB.max جان واسه چی delegate تعریف میکنی؟؟
    آخرش من نفهمیدم این delegate برای چی می نویسن؟

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

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