删除rssFeedLabel(label控件)、rssFeedTextBox(TextBox控件)、validateButton(按钮控件),将rssGroupBox的Text属性修改为“已添加的RSS源”,从工具箱中拖入一个ListBox控件,原先的窗体小了点,可以将窗体调大一点,将这个控件命名为RssFeedList。在右面添加三个按钮,将它们的Text属性(用户界面显示)改为“添加”、“编辑”、“删除”,name属性分别改为是“add”、“edit”、“del”,对应三种功能,最后得到如图2所示界面。
图2
接下来给每个按钮添加响应代码。双击“添加”按钮将自动生成对应的响应函数,并进入代码视图。函数自动被命名为add_Click,这是Visual Studio 2005默认的命名规则,下划线前表示控件名,下划线后表示响应的事件。在这里要弹出一个新窗体,允许用户添加并验证一个RSS源。在“解决方案管理器”的项目名称上点右键,添加、新建项、选择“Windows窗体”,命名为“AddForm.cs”,确定。从工具箱中拖入相应控件,完成和图3一样的用户界面。
图3
需要注意的是名称旁的TextBox要命名(name属性)为rssFeedName,RSS2.0 URI旁对应的TextBox命名为rssFeedTextBox,“验证”按钮命名为justic,“添加”按钮命名为add。窗体标题栏左边的图标在窗体属性中的ShowIcon项设置,不显示图标应将该属性设置为False,同时也可以在Text项中设置标题栏显示的名称(好像不管什么控件,Text对应的都是用户界面显示的名称)。
为两个按钮添加如下响应代码:
//响应添加按钮的函数
public void add_Click(object sender, EventArgs e)
{
if (rssFeedName != null & rssFeedTextBox != null)
{
Properties.Settings.Default.RssFeedNames.Add(rssFeedName.Text);
Properties.Settings.Default.RssFeedUris.Add(rssFeedTextBox.Text);
Properties.Settings.Default.Save();
Close();
}
else
{
MessageBox.Show("请确定输入正确的值!","输入错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
// 检查用户提供的URI 是否指向一个有效的RSS 源
private void justic_Click(object sender, EventArgs e)
{
try
{
RssFeed.FromUri(rssFeedTextBox.Text);
}
catch
{
MessageBox.Show("不是一个有效的RSS 源。", "不是一个有效的RSS 源。", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
MessageBox.Show("有效的RSS 源。", "有效的RSS 源。", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
} 使用了RssFeed类的静态函数,需要引用ScreenSharp.Rss命名空间。保存并关闭AddForm.cs文件。回到OptionsForm.cs,找到 “添加”按钮的响应函数,并要在这里生成一个AddForm类的实例,代码如图4。
|