📄 mainform.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Xml;
using System.IO;
namespace LiveQnA1
{
/// <summary>
/// This sample shows how to access Windows Live QnA on a Pocket PC in a few different ways.
/// In a tab control, the Windows Live QnA site is shown in a browser control, in a browser control using an RSS feed,
/// in a text box showing the raw RSS feed and, assigning the RSS feed to a DataSet inside a data grid.
/// </summary>
/// <remarks>
/// More information about accessing Live QnA making use of URL encoding can be found here:
/// http://liveqna.spaces.live.com/blog/cns!2933A3E375F68349!390.entry
/// </remarks>
public partial class MainForm : Form
{
private DataSet ds;
private DataView dv;
private int idx;
public MainForm()
{
InitializeComponent();
}
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
if (tabControl1.SelectedIndex == 0)
{
// Show Live QnA service in Browser
webBrowser1.Navigate(new Uri("http://qna.live.com/Search.aspx?q=meta:Search.qstate(0)"));
}
else if (tabControl1.SelectedIndex == 1)
{
// Show Live QnA RSS feed in Browser
webBrowser2.Navigate(new Uri("http://qna.live.com/Search.aspx?q=meta:Search.qstate(0)&format=rss"));
}
else if (tabControl1.SelectedIndex == 2)
{
// Show Live QnA raw RSS data in a text box
Cursor.Current = Cursors.WaitCursor;
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://qna.live.com/Search.aspx?q=meta:Search.qstate(0)&format=rss");
HttpWebResponse response = (HttpWebResponse)req.GetResponse();
StreamReader rdr = new StreamReader(response.GetResponseStream());
textBox1.Text = rdr.ReadToEnd();
Cursor.Current = Cursors.Default;
}
else
{
// Show Live QnA RSS data in a datagrid. In order to easily do so, first store the RSS feed in a DataSet.
Cursor.Current = Cursors.WaitCursor;
ds = new DataSet();
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://qna.live.com/Search.aspx?q=meta:Search.qstate(0)&format=rss");
HttpWebResponse response = (HttpWebResponse)req.GetResponse();
XmlTextReader xmlRdr = new XmlTextReader(response.GetResponseStream());
ds.ReadXml(xmlRdr);
idx = 0;
dv = new DataView(ds.Tables[idx]);
dataGrid1.DataSource = dv;
Cursor.Current = Cursors.Default;
}
}
private void MainForm_Load(object sender, EventArgs e)
{
webBrowser1.Navigate(new Uri("http://qna.live.com/Search.aspx?q=meta:Search.qstate(0)"));
}
private void dataGrid1_Click(object sender, EventArgs e)
{
// Simply walk through the different tables of the dataset, containing the RSS feed.
idx = (idx + 1) % ds.Tables.Count;
dv = new DataView(ds.Tables[idx]);
dataGrid1.DataSource = dv;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -