Füllen der Combobox aus einer Liste

Newb hier
Zur Zeit arbeite ich an einem Formular, welches ein Kombinationsfeld, das zeigen mehrere Charlie Brown TV-specials, die Sie können klicken Sie auf auswählen und eine Beschreibung, Bewertung, Laufzeit, etc. Ich bin in der Nähe, aber ich bin nicht dort in Bezug auf füllen der combo-box und ich bin der Hoffnung, für einige Hilfe und Anleitung. Ich sah mehrere Dinge, die andere getan haben, aber ich bin nicht kompetent genug, um Rückschlüsse auf die Antworten von dem, was ich habe sehen können, so weit.

Moment versuche ich mich auch:
1. Holen Sie sich die Inserate von Ihrem load-Methode
2. Schleife
3. Zugang zu meinem Kombinationsfeld füllen Sie die box mit der Zeit aus der Liste.

Form1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.Globalization;//Used for Sting.ToUpperCase...
using System.Threading;

using System.Threading.Tasks;//Needed for Streaming...
using System.IO;//Needed for Streaming...


namespace a100___GUI___VideoStoreSelections
{
public partial class FormMovieLookUp : Form
{
    private const String FILE_NAME = "txt_movieDescriptions.txt";//connect to text file in debug

    private List<Listing> films { get; set; }

    public FormMovieLookUp()
    {
        InitializeComponent();
    }

    private void cmbMovieListingBox_SelectedIndexChanged(object sender, EventArgs e)
    {
        txtTitleBox.Text = cmbMovieListingBox.SelectedItem.ToString();
    }

    //ToolBox -- my program specific tools
    public List<Listing> LoadListings()//load movie descriptions as list
    {
        StreamReader fileIn = new StreamReader(FILE_NAME);
        List<Listing> entries = new List<Listing>();

        //loop through every line of the file
        while (!fileIn.EndOfStream)
        {
            String line = fileIn.ReadLine();
            String[] pieces = line.Split(':');

            if (pieces.Length < 4) continue;//error handling - set to length of text items

            Listing myListing = new Listing(pieces[0], pieces[1], pieces[2], pieces[3]);
            entries.Add(myListing);
        }
        fileIn.Close();
        return entries;
    }

    private void FormMovieLookUp_Load_1(object sender, EventArgs e)
    {
        films = LoadListings();
        foreach (Listing film in films)
        {
            Console.WriteLine(film);
            cmbMovieListingBox.Items.Add(film.GetFilmTitle());
        }
    }
}
}

Auflistung.CS

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace a100___GUI___VideoStoreSelections
{

public class Listing
{
    private String filmTitle;
    private String description;
    private String filmRunTime;
    private String filmRating;

    public Listing(String filmTitle, String description, String filmRunTime, String filmRating)
    {
        this.filmTitle = filmTitle;
        this.description = description;
        this.filmRunTime = filmRunTime;
        this.filmRating = filmRating;
    }

    public String GetFilmTitle() { return filmTitle; }
    public String GetDescription() { return description; }
    public String GetFilmRunTime() { return filmRunTime; }
    public String GetFilmRating() { return filmRating; }



}

}

Also das ist, was ich versuche zu tun, zum Auffüllen meiner combo-box. Jede Hilfe ist zum Glück erhalten.

  • Ihr code bereits verwendet loops und greift auf die combo-box. Was genau hält Sie davon ab, die Liste Durchlaufen und hinzufügen der einzelnen Elemente text in die combobox?
  • Wenn ich es ausführen (klicken Sie auf den grünen Pfeil, um zu kompilieren/testen) das Feld nicht füllen. So, dass bedeutet für mich, dass ich habe keine Ahnung, was ich mache. Im Allgemeinen, ich bin ein newb, ich kann Ihnen sagen, ich habe keine Ahnung, was ich mache. Ich hatte gehofft, würde das Kombinationsfeld füllen mit dem ersten Stück von jeder Zeile in meinem text Dokument.
InformationsquelleAutor Chezshire | 2013-12-03
Schreibe einen Kommentar