PDA

View Full Version : حرفه ای: مشکل در مقایسه دو لیست و ظاهر شدن این پیام



asemaneiran
جمعه 27 دی 1392, 19:53 عصر
سلام
دوستان
من برا مقایسه دو تا لیست باکس و نمایش ایتم هاشون (اونهایی که در هر دو نیست)
از این کد استفاده کردم
foreach (string str in lstArray)
{

if (!lbSecondTableColumns.Items.Contains(str))
{
cmbJoinColumn.Items.Add(str);


}
else
{
label4.Text = "No Item Match..!";
}

}
این lstArray ارایه ای از لیست هست که از لیست باکس ایجاد کردم
و مشکلی نداره اجرا میشه فقط وقتی لیست ها ایتم هاشون برابرند این خطا رو میده چکار کنم که این خطا ظاهر نشه (یعنی اصلا وقتی ایتمی در هر دو نبود هیچی نشه و این پیغام نیاد )
invalidArgument = value of '0' is not valid for 'selectedindex'.
parameter name:selectindex

ممنون میشم راهنماییم کنید..

sagggad
جمعه 27 دی 1392, 19:59 عصر
از Try ......... Cacth.........Finaly استفاده کن و خطا رو نادیده بگیر
البته راه زیاد منطقی نیست

samsam_ninja
جمعه 27 دی 1392, 20:06 عصر
عزیز اون خطی که error میده رو بزار نه اونی که درست عمل میکنه!!!

asemaneiran
شنبه 28 دی 1392, 09:05 صبح
عزیز اون خطی که error میده رو بزار نه اونی که درست عمل میکنه!!!

سلام من از try catch استفاده کردم اون پیغام زمان اجرا میاد (در صورت تساوی دو لیست)(بصورت مسیج باکس میاد نه خطا) روی خط برنامه خطایی ندارم ممنون میشم راهی بگید که این پیغام نیاد

sagggad
شنبه 28 دی 1392, 09:10 صبح
من که اصلا متوجه توضیحاتتون نمییییشم
کدوم خطا رو کجا میده؟
مگه از Try Cacth استفاده نکردید؟
پس دیگه نباید ارور بده که...:عصبانی++:

asemaneiran
شنبه 28 دی 1392, 09:40 صبح
من که اصلا متوجه توضیحاتتون نمییییشم
کدوم خطا رو کجا میده؟
مگه از Try Cacth استفاده نکردید؟
پس دیگه نباید ارور بده که...:عصبانی++:


ببین
وقی برنامه در حال اجراس و محتوای دو لیست یکی هستن (ایتم متفاوت ندارن)
این پیغام رو نشون میده
invalidArgument = value of '0' is not valid for 'selectedindex'.
parameter name:selectindex
چکار کنم این نیاد
؟؟؟

sagggad
شنبه 28 دی 1392, 10:05 صبح
میدونم این ارور میگه 0 نمیتونه یکی از آیتم ها باشه (یا یه چیز تو همین مایه ها)
از TRY استفاده کردی؟
اگه درست نشد سورس رو بذار برام درستش کنم

asemaneiran
یک شنبه 29 دی 1392, 08:47 صبح
میدونم این ارور میگه 0 نمیتونه یکی از آیتم ها باشه (یا یه چیز تو همین مایه ها)
از TRY استفاده کردی؟
اگه درست نشد سورس رو بذار برام درستش کنم

سلام
سورس کد خاصی نداره
همونیه که گذاشتم (در اولین پست)
دوتا لیست دارم که اولی پیش فرض پر شده
دومی رو کاربر پر می کنه
بعدم با همون کدی که گفتم ایتم ها رو مقایسه می کنم و اگر مخالف داشتن توی کامبوباکس نشون میدم
مشکلم اینه که وقتی مخالف ندارند و دوتا لیست یکی اون پیغام ظاهر میشه که
میخوام ظاهر نشه
از try هم استفاده کردم نشد!!بازم پیغام در زمان اجرا با تساوی دو لیست ظاهر میشه
ممنون میشم یکی کمک کنه...

Mahmoud.Afrad
یک شنبه 29 دی 1392, 08:58 صبح
از چه رویدادهایی از لیست باکس ها استفاده کردی؟ کد همه رو بزار.

samsam_ninja
یک شنبه 29 دی 1392, 15:50 عصر
سلام من از try catch استفاده کردم اون پیغام زمان اجرا میاد (در صورت تساوی دو لیست)(بصورت مسیج باکس میاد نه خطا) روی خط برنامه خطایی ندارم ممنون میشم راهی بگید که این پیغام نیاد


عزیز همون خطی که وقتی ارور میده میاد بیرون رو بگو!

goldoon
یک شنبه 29 دی 1392, 16:39 عصر
این کد شما صحیحه مشکلی نداره همینطور که از ارور مشخصه ، شما بعد از این مقایسه در کدهای بعدی روی کنترل cmbJoinColumn شرط یا دستوری گذاشتی شما باید قبل از اون دستور اول چک کنی که این کنترل دارای عضو هست یا نیست احتمالا شما با دستوری (که اینجا ننوشتیش) آیتم شماره صفر لیست را تقاضا می کنی که وجود ندارد

shahryari
یک شنبه 29 دی 1392, 18:03 عصر
این یک نمونه ساده است
bool b = false;
foreach (string item in listBox1.Items )
{
foreach (string item2 in listBox2.Items)
{
if (item == item2 )
{
b = true;
}
}
}
if (b == true)
{
MessageBox.Show("ایتم تکراری وجود دارد");
}
else
{
MessageBox.Show("ایتم تکراری وجود ندارد");
}

rasol_afkham
یک شنبه 29 دی 1392, 18:05 عصر
گاهی وقتها می خواهی برنامه ای بنویسی، وقتی سوال رو می خونی فکر می کنی چقدر ساده است. ولی وقتی کمی بیشتر به اون سوال فکر می کنی می بینی اونقدرها هم ساده نیست. باید خیلی روش کار بشه
در کدی که در قسمت بالا نوشته اید در دستور forech نام لیست را نوشته اید که این خود اشتباه است، چون دستور foreach آرایه را قبول می کند نه کلاس. در ضمن
1. شما تنها اعضای لیست اول را با لیست دوم مقایسه می کنید. شاید در لیست دوم هم عضوی باشد که در لیست اول نباشد
2. پیغام No Match Items در جای مناسبی نیست. چون همین که عضوی مشابه پیدا کند این پیغام را صادر می کند. شاید عضوی مشابه باشد و عضو های غیر مشابه هم باشند
درلینک زیر نمونه ای از همین برنامه را قرارداده ام اما با کدهایی متفاوت وکامل و بدون اشتباه. امیدوارم کمکی کرده باشم. موفق باشید ...!
http://uploadboy.com/k80ngmb4687h.html