技术开发 频道

在windows mobile上必硬(bing)

 接下来,为了方便安全地按照我们的需要保存查询结果,我们添加一个类MyNewsResult:

 public class MyNewsResult

 {

 public string Date { get; set; }//日期

 public string Title { get; set; }//标题

 public string Snippet { get; set; }//新闻选段

 }

 然后,我们来关注一下DisplayResponse函数:

 private void DisplayResponse(SearchResponse response)

 {

 if (response.News != null &&

 response.News.Results != null &&

 response.News.Results.Length > 0)

 {

 //提取我们需要的信息,以MyNewsResult的形式存放每条结果

 var results = from bingResults in response.News.Results

 select new MyNewsResult() { Date = bingResults.Date,

 Title = bingResults.Title,

 Snippet = bingResults.Snippet };

 //将结果保存到listview的tag中以便继续使用

 lvResult.Tag = results.ToArray();

 //将相关新闻查询保存至ComboBox

 if (response.News.RelatedSearches != null &&

 response.News.RelatedSearches.Length > 0)

 {

 foreach (var rs in response.News.RelatedSearches)

 {

 cbRelated.Items.Add(rs.Title);

 }

 }

 //将我们需要的结果标题添加到ListView

 foreach (var r in (MyNewsResult[])lvResult.Tag)

 {

 lvResult.Items.Add(new ListViewItem(r.Title.ToString()));

 }

 }

 }

 最后,我希望在选中listView中的某一项的时候能够显示该新闻的日期和新闻选段。于是在lvResult的ItemActivate事件处理函数中我们添加如下代码:

 MyNewsResult[] nr = (MyNewsResult[])lvResult.Tag;

 if (nr != null)

 {

 MessageBox.Show(nr[lvResult.SelectedIndices[0]].Snippet,

 nr[lvResult.SelectedIndices[0]].Date);

 }

 到此,主要的工作我们已经完成了(完整的代码文章末尾有下载)。不妨来看看运行效果:

 
 

查看原文地址

0
相关文章