Я новичок в C #, поэтому я попытаюсь объяснить это в меру своих способностей.
Я создаю простое подкаст-приложение на C # и пытаюсь использовать XML-ридер для полученияRSS-канал, а затем помещая эту информацию в различные winforms.
Я разработал, как получить основную информацию, которую я хочу, в listBox. Однако чего я не могу понять, так это получить другую часть информации (сводку) из RSS-канала в richTextBox, щелкнув элемент списка в listBox.
Класс, который я создал для чтения RSS-канала.
Элемент списка
public class RSSreader
{
public static List<Tuple<string, string>> rssRead(string url)
{
string subject = "";
string summary = "";
var x = "";
var y = "";
var count = 0;
var list = new List<Tuple<string, string>>();
try
{
XmlReader reader = XmlReader.Create(url);
SyndicationFeed feed = SyndicationFeed.Load(reader);
reader.Close();
foreach (SyndicationItem item in feed.Items)
{
count++;
subject = item.Title.Text;
summary = item.Summary.Text;
x += count + " " + subject + " ";
list.Add(new Tuple<string, string>("Avsnitt " + count+ " " + subject, summary));
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
//Datahandler.SavePodFeed(list);
return list ;
}
}
public class RSSreader
{
public static List<Tuple<string, string>> rssRead(string url)
{
string subject = "";
string summary = "";
var x = "";
var y = "";
var count = 0;
var list = new List<Tuple<string, string>>();
try
{
//string urlX = "http://feeds.soundcloud.com/users/soundcloud:users:298230954/sounds.rss";
XmlReader reader = XmlReader.Create(url);
SyndicationFeed feed = SyndicationFeed.Load(reader);
reader.Close();
foreach (SyndicationItem item in feed.Items)
{
count++;
subject = item.Title.Text;
summary = item.Summary.Text;
x += count + " " + subject + " ";
list.Add(new Tuple<string, string>("Avsnitt " + count+ " " + subject, summary));
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
return list ;
}
}
Что я использую для заполнения списка
private void button1_Click(object sender, EventArgs e)
{
var list = RSSreader.rssRead(tbxURL.Text);
foreach (Tuple<string, string> item in list)
{
listBox2.Items.Add(item.Item1);
}
listBox2.Items.Add(RSSreader.rssRead(tbxURL.Text));
}
Мой взгляд на заполнение поля richTextBox из списка со списком при нажатии.
private void listBox2_MouseClick(object sender, MouseEventArgs e)
{
var list = RSSreader.rssRead(tbxURL.Text);
foreach (Tuple<string, string> item in list)
{
if (item != listBox2.SelectedItem)
{
richTextBox1.Text = item.Item2.ToString();
}
}
}
Я не получаю никаких ошибок, но он только заполняет richTextBox одной и той же информацией независимо от того, какой элемент в списке я щелкаю.