内容索引
概述
模态窗体的属性设置
模态窗体中的按钮
模态窗体的打开与关闭
窗体的参数传递
.Net Framework提供的模态窗体
更多资源

OptionSettingEventArgs> OptionSettingChanged;
编写事件引发程序如下,
//
引发OptionSettingChanged事件
protected virtual void OnOptionSettingChanged(OptionSettingEventArgs e)
{
    if (OptionSettingChanged != null)
    {
        OptionSettingChanged(this, e);
    }
}

对文件目录选择按钮事件处理程序进行修改来实现事件激发,并没有考虑直接从文本框直接数据输入方式。
//
通过目录对话框设置新的路径
private void buttonBrowser_Click(object sender, EventArgs e)
{
    FolderBrowserDialog dialog = new FolderBrowserDialog();
    DialogResult result = dialog.ShowDialog(this);
    if (result == DialogResult.OK)
    {
        if(this.textBoxPath.Text != dialog.SelectedPath)
        {
            this.textBoxPath.Text = dialog.SelectedPath;
            OptionSettingEventArgs args = new OptionSettingEventArgs(dialog.SelectedPath);
            OnOptionSettingChanged(args);
        }
    }
}

好了,一切准备工作完成,调用代码如下,
OptionForm form = new OptionForm();
//
注册事件
form.OptionSettingChanged += new EventHandler (form_OptionSettingChanged);
form.ShowDialog();
通过以下事件处理程序来验证其正确性,
private void form_OptionSettingChanged(object sender, OptionSettingEventArgs e)
{
    string newPath = e.ChangedPath;
    MessageBox.Show(this, String.Format("
新路径为“{0}”", newPath), "提示");
}

在实际开发过程中,合理的处理方式可能是以上几种方式的组合。对于窗体间的参数传递,我在另一篇文章中也有比较多的基础实例讲解。

上看到该书好像已经出第二版了。

相关文章: