• سوال در مورد لیست باکس - 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,893 23-05-2013 ساعت 12:06
    آخرین ارسال: SOFTAFZAR
    Note چند سوال در مورد WPF- سی شارپ The Arrow 4 1,247 22-05-2013 ساعت 15:47
    آخرین ارسال: PHP.sec

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