PDA

View Full Version : سوال: مشکل عجیب در سورس پروژه



debugger
پنج شنبه 04 شهریور 1389, 17:51 عصر
داشتم با پروژه کار میکردم که یهو بعد اجرا روی هر دکمه یا منویی کلیک کردم دیدم هیچ اتفاقی نمی یوفته . انگار نه انگار که کدی نوشته شده باشه

حالا فرضا روی دکمه ای دو بار کلیک می کنم تا کدهاشو ببینم ولی کد های زیر باز میشه




private void button7_Click_1(object sender, EventArgs e)
{
}



همونطور که مشاهده می کنید نوشته Click_1 یعنی اینکه قبلا از این تو سورس بوده که یک اندیس یک اضافه کرده

حالا من تو سورس خودم نگاه می کنم می بینم که کد های دکمه مربوطه هم هست ولی اصلا اجرا نمیشه

اینم کد های اصلی مربوط به دکمه




private void button7_Click(object sender, EventArgs e)
{
if (String.IsNullOrEmpty(textBox7.Text))
{
return;
}
checkedListBox1.Items.Add(textBox7.Text.ToString() .Trim());
textBox7.Text = "";
}


این کد ها اصلا اجرا نمی شود بریک پوینت هم میزارم اصلا تاثیر نداره مثل اینکه اصلا وجود ندارد
تمامی دکمه ها و رویداد ها و منو ها به همین شکل شده اند.

نمی دونم دیگه باید چی کار کنم . وقت هم ندارم همشو از اول باز نویسی کنم

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

ویندوز را هم عوض کردم و ویژوال استدیو را هم تازه نصب کردم (vs2010) ولی بازم درست نشد

vandermond
پنج شنبه 04 شهریور 1389, 18:20 عصر
سلام دوست عزيز
فايل هاي توي پوشه Debug توي bin رو (اگه ديتابيس يا فايلي خودت اضافه نكردي) پاك كن.
اگه درست شد:
------- return;
else
------فايل هاي توي پوشه Debug توي obj رو هم پاك كن(البته فايلهاي توي پوشه Debug توي bin هم دوباره
------ ايجاد شدن، پاكشون كن)

بايد درست بشه. اگه نشد بگو ...

debugger
پنج شنبه 04 شهریور 1389, 19:33 عصر
درست نشد . تمامی کارهای گفته شده را انجام دادم

این ویژوال استدیو 2010 نمی دونم چرا این همه گیج بازی در میاره تو 2008 همچین چیزی ندیده بودم

Reza_Yarahmadi
پنج شنبه 04 شهریور 1389, 22:48 عصر
علت اجرا نشدن کدها به خاطر حذف شدن رویدادهای ابزارها است. حالا چرا حذف شدن ... نمیدونم.
باید برای تمام ابزارها به قسمت رویدادها برید و متدی که قبلا نوشتید رو ست کنید.
منم قبلا به این مشکل بر خوردم از اون موقع بعد به جای اینکه رویدادها رو بصورت ویزاردی تنظیم کنم ، همه رویدادهای مورد نظرم رو توی یه متد تنظیم میکنم و توی لود فرم و یا توی سازنده کلاس متد رو فراخوانی میکنم.
یک مثال:

public Form1()
{
InitializeComponent();
InitializeEvent();
}
void InitializeEvent()
{
button1.Click+=new EventHandler(button1_Click);
this.Load+=new EventHandler(Form1_Load);
dataGridView1.SelectionChanged+=new EventHandler(dataGridView1_SelectionChanged);
}

این روش چندتا مزیت داره یکی اینکه دیگه این مشکل پیش نمیاد و یا اگر ابزارها رو عوض کنم نیازی نیست دوباره تنظیمات مربوط به رویدادها رو انجام بدم

javad_r_85
پنج شنبه 04 شهریور 1389, 23:23 عصر
سلام .
این خطا معمولا زمانی پیش میاد که شما روی دکمه یکبار کلیک کرده باشید و رویداد آن ضاهر شود سپس نام دکمه را تغییر دهید دوباره روی آن کلیک کنید برای حل این مشکل دو راه دارید یکی اینکه فارغ از نام رویداد دکمه او ن کدها را cut کرده سپس روی دکمه کلیک کنید و در اینجا حالا هر پسوندی داشت Past کنید یا اینکه لیست مربوط به رویدادهای دکمه Evant که در کنار Propertise است کلیک کرده جلودی رویداد کلیک نام را به نام دلخواه تغییر دهید.

FastCode
پنج شنبه 04 شهریور 1389, 23:25 عصر
سلام .
این خطا معمولا زمانی پیش میاد که شما روی دکمه یکبار کلیک کرده باشید و رویداد آن ضاهر شود سپس نام دکمه را تغییر دهید دوباره روی آن کلیک کنید برای حل این مشکل دو راه دارید یکی اینکه فارغ از نام رویداد دکمه او ن کدها را cut کرده سپس روی دکمه کلیک کنید و در اینجا حالا هر پسوندی داشت Past کنید یا اینکه لیست مربوط به رویدادهای دکمه Evant که در کنار Propertise است کلیک کرده جلودی رویداد کلیک نام را به نام دلخواه تغییر دهید.
امکان نداره.
در ضمن اون هم event ه.

مشکل شما وقتی به وجود میاد که کنترلها رو CUT بکنید.
دقت بکنید که فقط CUT.

میلاد قاضی پور
پنج شنبه 04 شهریور 1389, 23:34 عصر
این کد رو ببینید :



//
// TS_edit_ostad
//
this.TS_edit_ostad.Image = global::University.Properties.Resources._1367;
this.TS_edit_ostad.Name = "TS_edit_ostad";
this.TS_edit_ostad.Size = new System.Drawing.Size(109, 22);
this.TS_edit_ostad.Text = "استاد";
this.TS_edit_ostad.Click += new System.EventHandler(this.TS_edit_ostad_Click);


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

javad_r_85
پنج شنبه 04 شهریور 1389, 23:34 عصر
امکان نداره.
در ضمن اون هم event ه.

مشکل شما وقتی به وجود میاد که کنترلها رو CUT بکنید.
دقت بکنید که فقط CUT.

چرا دوست عزیر امکان نداره این مشکلی هست که من صدها بار باش برخوردکردم من نگفتم کننترلهای را cut کن گفتم کدها را به جای این که در


privatevoid button7_Click(object sender, EventArgs e)



اینجا بنویسی در اینجا بنویس



privatevoid button7_Click_1(object sender, EventArgs e)

FastCode
پنج شنبه 04 شهریور 1389, 23:45 عصر
چرا دوست عزیر امکان نداره این مشکلی هست که من صدها بار باش برخوردکردم من نگفتم کننترلهای را cut کن گفتم کدها را به جای این که در


privatevoid button7_Click(object sender, EventArgs e)



اینجا بنویسی در اینجا بنویس



privatevoid button7_Click_1(object sender, EventArgs e)



من کاری به cut کردن کد ندارم.
در ضمن اون مشکلی شما داری بخاطر ضعف اینگلیسی و check زدن الکیه.
توی تنظیمات ویژوال استودیو چند تا چکباکس هست که میپرسه حالت این rename ها باید چطوری باشه.

debugger
جمعه 05 شهریور 1389, 00:48 صبح
این کد رو ببینید :



//
// TS_edit_ostad
//
this.TS_edit_ostad.Image = global::University.Properties.Resources._1367;
this.TS_edit_ostad.Name = "TS_edit_ostad";
this.TS_edit_ostad.Size = new System.Drawing.Size(109, 22);
this.TS_edit_ostad.Text = "استاد";
this.TS_edit_ostad.Click += new System.EventHandler(this.TS_edit_ostad_Click);



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




ندارد . این قسمتو ندارد

FastCode
جمعه 05 شهریور 1389, 00:51 صبح
ندارد . این قسمتو ندارد

نباید داشته باشه.چون وقتی cut میکنید event ها cut نمیشن.

debugger
جمعه 05 شهریور 1389, 00:53 صبح
این مشکل زمانی برام پیش اومد که

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

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

میلاد قاضی پور
جمعه 05 شهریور 1389, 01:06 صبح
بالاخره درست شد؟ اگه اون قسمت رو نداره خودتون اضافه کنید . چرا نباید داشته باشه فست کد جان دلیلش واضح نبود.

debugger
جمعه 05 شهریور 1389, 01:12 صبح
بله دستی اضافه کردم . درست شد . نمی دونم چرا همشون حذف شده بودن .

خودم هم نمی دونم . داشتم کار میکردم یهویی دیدم هیچی کار نمی کنه

#aliyari_C
جمعه 05 شهریور 1389, 01:47 صبح
ُسلام
یه نگاه بنداز , بی ربط نیست
http://www.barnamenevis.org/forum/showthread.php?t=241326
موفق باشی
__________________________________________________ __________________________________________________
چون به دریا می توانی راه یافت
سوی یک قطره چرا باید شتافـت

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

arefba
جمعه 05 شهریور 1389, 01:53 صبح
خیلی این قضیه تابلو هست
وقتی شما اونت ها رو هم از بین بردید در نتیجه وقتی دوباره بسازید نمی تونید از کداتون استفاده کنید چون اینبار اونت ها با همون نام درست نشدن