سوال در مورد لیست باکس - WPF - سی شارپ
#1
Note 
سلام
فرض کنید ، یک لیست باکس داریم و دو تکست باکس و دو دکمه

فرض کنید 25 تا اسم توی لیست باکس نوشتیم ، چطوری کار کنیم که مثلا 1 و 2 و 3 ... بیاد اولشون ( واسه سطر بندی )؟

خب توی تکست باکس 1 ، اگه بنویسیم رضا ، رضا رو واسمون نمایش بده البته اگه توی لیست باکس بود اگه نبود بگه نیست

دوم اینکه چطوری با استفاده از سطرشون اسم ها رو نشون بدیم ؟ ( یعنی همون سطر بندی که تو فرض کنید 2 نوشتیم ) ، مثلا اگه علی توی سطر 10 بود اگه توی تکست باکس 2 بنویسیم 10 و روی دکمه 10 کلیک کنیم ، سطر رو شناسایی کنه و اسم علی رو نشون بده

امیدوارم که فهمیده باشید چی میگم!
واسه WPF - سی شارپ میخوام.
ممنون

پاسخ
#2
Note 
Final code:

[CSHARP]using System.Windows;

namespace WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}

private void button1_Click(object sender, RoutedEventArgs e)
{

listBox1.Items.Add("#"+(listBox1.Items.Count + 1)+ ": " + textBox1.Text);
}

private void button2_Click(object sender, RoutedEventArgs e)
{
for (int i = 1; i < listBox1.Items.Count; i++)
{
listBox1.SelectedIndex = i;

if (listBox1.Items[i - 1].ToString().Substring(i.ToString().Length + 3) == textBox2.Text)
{
listBox1.SelectedIndex = i - 1;
break;
}
}
}
}
}[/CSHARP]

پاسخ
#3
Note 
سلام ممنون
عالی بود
اما
[CSHARP]
private void button2_Click(object sender, EventArgs e)
{
for (int i = 1; i < listBox1.Items.Count; i++)
{
listBox1.SelectedIndex = i;
if (listBox1.Items[i - 1].ToString().Substring(i.ToString().Length + 3) == textBox2.Text)
{
listBox1.SelectedIndex = i - 1;
break;
}
}
}
[/CSHARP]

اینجا که نوشتی اگه توی تست 2 اسم رو بنویسم نشون میده ، چطوری کاری کنم که مثلا از روی ردیف بگه؟ یعنی مثلا ایمان در سطر 18 هست و اگه بنویسم #18 اون رو نمایش بده به عبارتی جای نوشتن اسم توی تکست2 ، ردیف اون رو با # بنویسیم.

یادم رفت بگم منظورم از نشون دادن ، این بود که توی Messagebox نشون بده.

ممنون

پاسخ
#4
Note 
دو تا کاراکتر اضافه میکردی حل میشد

[CSHARP] for (int i = 1; i < listBox1.Items.Count; i++)
{
listBox1.SelectedIndex = i;
if (listBox1.Items[i - 1].ToString().Substring(0, i.ToString().Length + 1) == textBox2.Text)
{
listBox1.SelectedIndex = i - 1;
MessageBox.Show(listBox1.Items[i - 1].ToString().Substring(i.ToString().Length + 3));
break;
}
}[/CSHARP]

پاسخ
#5
Note 
خیلی خیلی ممنون اما جواب این رو ندادی

اینجا که نوشتی اگه توی تکست 2 اسم رو بنویسم نشون میده ، چطوری کاری کنم که مثلا از روی ردیف بگه؟ یعنی مثلا ایمان در سطر 18 هست و اگه بنویسم #18 اون رو نمایش بده به عبارتی جای نوشتن اسم توی تکست2 ، ردیف اون رو با # بنویسیم

پاسخ
#6
Note 
دوست عزیز جوابش همونه دیگه
تو کد اول اگر اسم رو بنویسیم پیدا میکنه و نمایش میده
تو کد دوم اگر شماره سطر رو بنویسیم مقدار اصلی رو نمایش میده مثلا اگر چنین چیزی داشته باشیم:
کد:
#1: Ali
#2: reza
#3: mohsen
#4: hassan
اگر تو textbox2 عبارت 3# رو بنویسیم mohsen رو نمایش میده.

پاسخ
ایجاد موضوع جدید   پاسخ به موضوع  

موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Note سوال : MultiLine کردن TextBox در WPF The Arrow 7 1,521 23-05-2013 ساعت 12:06
آخرین ارسال: SOFTAFZAR
Note چند سوال در مورد WPF- سی شارپ The Arrow 4 994 22-05-2013 ساعت 15:47
آخرین ارسال: PHP.sec

کاربرانِ درحال بازدید از این موضوع:   1 مهمان