دسترسی به مقدار اندیس خاصی از listbox
سلام.
خواهشن زودی کمکم کنید. یه برنامه رو خیلی وقته کامل نوشتم فقط به مشکل کوچیک داره که هرکاری میکنم نمیتونم حلش کنم.
میخوام مقدار اولین آیتم listbox رو بریزم توی یه متغیر ولی از هرکدوم از خصوصیت های listbox استفاده می کنم یه چیز دیگه رو برمیگردونه!
مگه این درست نیست ؟
int Key = Convert .ToInt32 ( listBox1.Items.IndexOf (-1 ));
اگه نیست درستش چیه؟؟ :ناراحت:
نقل قول: دسترسی به مقدار اندیس خاصی از listbox
توی قسمت دیگه ای از برنامم هم باید مقدار اون متغیر رو با آیتم های بعدی listbox مقایسه کنم. ولی بازم نمیشه :( این کد اشتباهه؟؟
for (int i = 1; i <= count ; i++)
{
if (Key == listBox1.Items.IndexOf (i ) )
{
keyIndex =listBox1.SelectedIndex -1;
}
else
{ keyIndex = 0;
}
نقل قول: دسترسی به مقدار اندیس خاصی از listbox
سلام
عزيز از اين خط استفاده كن
listBox1.Items[0]
ايعني در مقابل Items داخل يك براكت شماره انديس را بگذار! البته بعدش بايد متناسب جنس آن كست كني!
نقل قول: دسترسی به مقدار اندیس خاصی از listbox
این کارم کردم ولی خطا میگیره. جلوی items نمیشه شماره اندیس داد :(((
نقل قول: دسترسی به مقدار اندیس خاصی از listbox
این خطا رو میده :
Error 1 Non-invocable member 'System.Windows.Forms.ListBox.Items' cannot be used like a method.
یعنی اصلن نمیشه اینجوری استفادش کرد!
نقل قول: دسترسی به مقدار اندیس خاصی از listbox
اقا من كدش را تست كردم هيچ مشكلي نبود
lsbLessons.Items[0])
نقل قول: دسترسی به مقدار اندیس خاصی از listbox
نقل قول:
نوشته شده توسط
AmirGhasemi
اقا من كدش را تست كردم هيچ مشكلي نبود
lsbLessons.Items[0])
واقعا ممنونم الان که دقت کردم فهمیدم اشتیاهم کجاست. انقد این چند وقته صبح تا شب پای سیستم بودم چشام خوب نمیبینه :چشمک: به جای [] ، () گداشته بودم ! :خجالت: شرمنده . خیلی ممنونم
نقل قول: دسترسی به مقدار اندیس خاصی از listbox
وای بازم مشکل داره :(
کدم اینه :
int Key = Convert .ToInt16 ( listBox1.Items[0]);
ولی این خطا رو میده :
Input string was not in a correct format.
نقل قول: دسترسی به مقدار اندیس خاصی از listbox
دوست عزیز بخاطر این که آیتم لیست باکس شما از نوع string هست و شما میخواین به int تبدیلش کنین. بیشتر دقت کنید.
نقل قول: دسترسی به مقدار اندیس خاصی از listbox
نقل قول:
نوشته شده توسط
hamidkh
دوست عزیز بخاطر این که آیتم لیست باکس شما از نوع string هست و شما میخواین به int تبدیلش کنین. بیشتر دقت کنید.
خب من که comvert گذاشتم که تبدیلش کنه، یعنی نمی تونه این کارو کنه؟!
من اگه متغیر key رو هم string بگیرم تو ادامه برنامه نمی تونم مقایسه رو انجام بدم درسته؟
پس چجوری این مشکل رو حل کنم؟! :(
نقل قول: دسترسی به مقدار اندیس خاصی از listbox
آیتم های لیست باکسم عدد هستن. پس باید بتونه تبدیل کنه. درسته؟
نقل قول: دسترسی به مقدار اندیس خاصی از listbox
اگر عدد باشن نباد مشکلی وجود داشته باشه.
نقل قول: دسترسی به مقدار اندیس خاصی از listbox
نقل قول:
نوشته شده توسط
hamidkh
اگر عدد باشن نباد مشکلی وجود داشته باشه.
عدد هستن پس مشکل چیه؟! :((
نقل قول: دسترسی به مقدار اندیس خاصی از listbox
نقل قول:
نوشته شده توسط
fahmari
آیتم های لیست باکسم عدد هستن. پس باید بتونه تبدیل کنه. درسته؟
سلام
اگر عدد خیلی بزرگ باشه باید باید با Int32 یا Int64 تبدیل کنید .
نقل قول: دسترسی به مقدار اندیس خاصی از listbox
نقل قول:
نوشته شده توسط
moharam1370
سلام
اگر عدد خیلی بزرگ باشه باید باید با Int32 یا Int64 تبدیل کنید .
سلام.
اعدادم بزرگ نیستن ولی اول همون Int32 رو گداشته بودم با این حال همین خطا رو می گرفت !
نقل قول: دسترسی به مقدار اندیس خاصی از listbox
از همگی دوستان ممنونم. حل شد :))
مشکل از این بود که موقع نمایش یه سری کاراکتر دیگه به اون اعداد اضافه کرده بودم که نمایشش شکیل تر باشه :خجالت:
یه دنیا مرسی از همه
نقل قول: دسترسی به مقدار اندیس خاصی از listbox
واااااااااااااااااااااای نخیر مثل اینکه این برنامه درست بشو نیس!
دوستان کدم رو میذارم خواهشن راهنمایی کنید که مشکل کجاست. خسته شدم بخدا:گریه:
توسط کد زیر لیست باکس پر مبشه که مشکلی نداره و درست اجرا میشه :
private void button2_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
int a= Convert.ToInt32 (textBox1.Text );
X.Add (Convert .ToInt32(textBox2 .Text ));
int C =Convert.ToInt32 (textBox3 .Text) ;
int m = Convert .ToInt32 (textBox4 .Text );
int count = Convert.ToInt32(textBox5.Text);
for (int i = 0;i <count ;i ++)
{
int temp= ((Convert .ToInt32(X [i]) * a +C) % m );
X.Add(temp);
}
listBox1.Items.Clear();
for (int k = 1; k < X.Count; k++)
{
listBox1.Items.Add(X[k].ToString());
}
}
تو قسمت بعدی ، به button دیگه وجود داره که باید تو این اعداد تصادفی تولید شده که در لیست باکس قرار دارن، دوره مولدشون رو محاسبه کنه. دوره مولد یعنی بعد از چند عدد تصادفی دوباره همون عدد اول تولید شده. درواقع باید عدد اول لیست باکس رو با اعداد بعدیش مقایسه کنه و جایی که اون عدد تکرار شده اندیس لیست باکس رو برگردونه.
اینم کد این قسمت که همش مشکل داره و نمی تونم حلش کنم : :گریه:
private void button1_Click(object sender, EventArgs e)
{
int Key = Convert .ToInt32 ( listBox1.Items[0]);
int keyIndex;
int count = listBox1.Items.Count;
for (int i = 1; i < count ; i++)
{
if (Key == Convert .ToInt32 ( listBox1.Items[i] ))
{
keyIndex =listBox1.SelectedIndex -1;
}
else
{ keyIndex = 0;
}
label5.Text = Convert.ToString(keyIndex);
}
}
تورو خدا کمکم کنید کلی کار دارم این یه برنامه ساده از کیه وقتمو گرفته حلم نمیشه ! :ناراحت:
نقل قول: دسترسی به مقدار اندیس خاصی از listbox
راستی X رو به صورت
ArrayList X = new ArrayList();
تعریف کردم
نقل قول: دسترسی به مقدار اندیس خاصی از listbox
کیــــــــــــــست مـــــــــــــــرا یــــــــــــــــــاری کند ؟! :(((
نقل قول: دسترسی به مقدار اندیس خاصی از listbox
درستش کردم :لبخندساده: ممنونم از همه