PDA

View Full Version : تغییر کردن رویداد click باتن به click_1



ahmad_ir
یک شنبه 19 اردیبهشت 1389, 12:35 عصر
سلام
تمی دونم چرا وقتی برنامه ام سنگین میشه بعضی باتن ها رویدادش از click به click_1 تبدیل میشه و کدی که نوشتم دیگه نیست.آیا راه حلی برای درست شدن هست؟

M.YasPro
یک شنبه 19 اردیبهشت 1389, 12:46 عصر
سلام
منم همین مشکل رو داشتم . فکر میکنم برای این بود که از کنترل های قبلی تو فرمم کپی می گرفتم و بر حسب نیاز توی همون فرم استفاده می کردم و وقتی می خواستم بهشون یه ایونت اختصاص بدم اینجوری میشد . البته دلیل عقلانی نمیتونه باشه . ولی به هر صورت این اتفاق می افتاد .

gwbasic
یک شنبه 19 اردیبهشت 1389, 17:21 عصر
ببینید وقتی از طریق Designer روی یک Event مثلا Click ، کلیک می کنید یه متد برای هندل کردن Event ایجاد می شه که از دو قسمت تشکیل شده نام کنترل و نام Event مثلا Button_Click
حال اگر به هر دلیلی از طریق Designer این event یعنی Click را حذف کنیم آن متد (Button_Click) هنوز در کد ما باقی است
جال اگر دوباره از طریق Designer روی Event کلیک آن کنترل کلیک کنیم چون متد که VS می خواهد بسازد (Button_Click( قبلا موجود هست بنابراین متد Button_Click_1 را ایجاد می کند
بنابراین مشکل به نوعی به این موضوع بر می گردد

arefba
یک شنبه 19 اردیبهشت 1389, 18:25 عصر
خیلی جالب بود
ولی کاش میشد که یه اطلاعی میداد سی شارپ که آدم اینجوری گیج نشه

ahmad_ir
سه شنبه 21 اردیبهشت 1389, 17:26 عصر
ببینید وقتی از طریق Designer روی یک Event مثلا Click ، کلیک می کنید یه متد برای هندل کردن Event ایجاد می شه که از دو قسمت تشکیل شده نام کنترل و نام Event مثلا Button_Click
حال اگر به هر دلیلی از طریق Designer این event یعنی Click را حذف کنیم آن متد (Button_Click) هنوز در کد ما باقی است
جال اگر دوباره از طریق Designer روی Event کلیک آن کنترل کلیک کنیم چون متد که VS می خواهد بسازد (Button_Click( قبلا موجود هست بنابراین متد Button_Click_1 را ایجاد می کند
بنابراین مشکل به نوعی به این موضوع بر می گردد


ولی من هر وقت که دایل کلیک می کنم روی دکمه هام برای نوشتن کد به اون عدد اضافه میشه مثل
Click_3

gwbasic
چهارشنبه 22 اردیبهشت 1389, 07:43 صبح
ولی من هر وقت که دایل کلیک می کنم روی دکمه هام برای نوشتن کد به اون عدد اضافه میشه مثل
Click_3


نگاه کن ببین قبل از دابل کلیک کردن جلوی ایونت کلیک دکمه متدی نوشته شده یا نه؟
چون اگر کدی نوشته نشده باشه اونوقت این اتفاقی که شما گفتی پیش می یاد

helalkhosh
شنبه 02 شهریور 1392, 15:24 عصر
خوب حالا باید چیکار کرد ؟

m_ali_gho
شنبه 02 شهریور 1392, 16:09 عصر
نگاه کن ببین قبل از دابل کلیک کردن جلوی ایونت کلیک دکمه متدی نوشته شده یا نه؟
چون اگر کدی نوشته نشده باشه اونوقت این اتفاقی که شما گفتی پیش می یاد

سلام
یه سوال
اگه کدی نوشته شده باشه جلوی اونت یک کنترل (مثلا button) و ما رو اون button دابل کلیک کنیم مگه این نمیشه که هدایتمون میکنه به سمت کد فرم و اون قسمتی رو نمایش میده که از قبل حداقل
private void button1_Click(object sender, EventArgs e)
{

}
یا هر کد دیگه مربوط به اونت رو نوشته.
فکر میکنم دلیل اینکه وقتی رو button دابل کلیک میکنیم و اونت رو به صورت Button_Click_1 نام گذاری میکنه اینه که حالا به هر دلیلی ارتباط اونت با کد مربوطش قطع شده. یعنی تو myForm.Designer.cs کد
this.button1.Click += new System.EventHandler(this.button1_Click);
وجود نداره ولی تو myForm.cs کد
private void button1_Click(object sender, EventArgs e)
{

}
وجود داره و چون نمیشه دو تا متد هم نام با آرگومان های هم نام وجود داشته باشه پس یه شماره به انتهاش اضافه میشه.
وقتی برام چنین مشکلی پیش میاد از قسمت اونتهای کنترلم از Properties رو لیست جلوی اونت مورد نظرم کلیک می کنم و اونتی رو که از قبل براش نوشته بودم و رو انتخاب میکنم. اصولا اینجوری مشکلم حل میشه.