PDA

View Full Version : سوال: تنظیم انتهای رشته های اضافه شده به لیست باکس



دلتنگ اسمان
پنج شنبه 22 فروردین 1398, 20:03 عصر
با سلام
تعدادی اسم را به لیست باکس اضافه میکنم . میخوام آخر این اسم ها " : " بذارم . اما اینها زیر هم قرار نمیگیرند. با کد زیر انجام میدم اما ظاهرا اندازه کارکترهای فارسی با اندازه " "
(Space) تفاوت داره:

foreach (var item in coun)
{


string name = item.name;

for (int t = 0; t < (15 - name.Length); t++)
name += " ";


listBox1.Items.Add(name+ " :");

}

saeidfar
پنج شنبه 22 فروردین 1398, 23:05 عصر
زیر هم قرار نمیگیرند یعنی چی؟
اسامی فارسی هستن؟
خاصیت راست چین رو true کردین؟

دلتنگ اسمان
پنج شنبه 22 فروردین 1398, 23:33 عصر
زیر هم قرار نمیگیرند یعنی چی؟
اسامی فارسی هستن؟
خاصیت راست چین رو true کردین؟
طبق شکل زیر حالت دومی رو میخوام پیاده کنم:(راست چین هم شده):
150012

saeidfar
پنج شنبه 22 فروردین 1398, 23:39 عصر
یک راه که به ذهنم می رسه:
ابتدا قبل از انتساب به لیست باکس، یک سری باید تمامی اسامی رو از اول تا آخر بخونید طول بزرگترین رشته رو پیدا کنید
و سپس باید طول رشته تمام اسامی رو به اندازه بزرگترین طول رشته، فاصله خالی قرار بدین.
بعدش به آخر تمامی اسامی ":" اضافه کنید.

دلتنگ اسمان
پنج شنبه 22 فروردین 1398, 23:51 عصر
یک راه که به ذهنم می رسه:
ابتدا قبل از انتساب به لیست باکس، یک سری باید تمامی اسامی رو از اول تا آخر بخونید طول بزرگترین رشته رو پیدا کنید
و سپس باید طول رشته تمام اسامی رو به اندازه بزرگترین طول رشته، فاصله خالی قرار بدین.
بعدش به آخر تمامی اسامی ":" اضافه کنید.
کدی که در پست اول نوشتم همینه. اما با عدد ثابت 15. ولی اشکالی که داره اندازه مثلا 4 تا کاراکتر فارسی برابر با اندازه 4 تا فاصله خالی نیستش!
یعنی هر کاراکتر فارسی برابر با یک خط فاصله نیست. به خاطر همین جور در نمیاد

saeidfar
جمعه 23 فروردین 1398, 00:02 صبح
شما باید طول رشته رو قبل از for محاسبه کنید شما هربار که حلقه رو اجرا میکنید طول رشته رو تغییر میدین و سپس دوباره محاسبه میکنید




foreach (var item in coun)
{


string name = item.name;
int l= name.Length;

for (int t = 0; t < (15 -l ); t++)

name += " ";


listBox1.Items.Add(name+ " :");

}

دلتنگ اسمان
جمعه 23 فروردین 1398, 00:20 صبح
شما باید طول رشته رو قبل از for محاسبه کنید شما هربار که حلقه رو اجرا میکنید طول رشته رو تغییر میدین و سپس دوباره محاسبه میکنید




foreach (var item in coun)
{


string name = item.name;
int l= name.Length;

for (int t = 0; t < (15 -l ); t++)

name += " ";


listBox1.Items.Add(name+ " :");

}







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

saeidfar
جمعه 23 فروردین 1398, 00:29 صبح
name += " ";
رو به
name=name+" ";
تغییر بدین