OpenFileDialog C#要求开两次吗?

时间:2015-05-04 11:54:22

标签: c# telerik openfiledialog

我使用Telerik Browse Editor在我的程序中打开文件。但由于某种原因,它要求我两次该文件。从下面的代码可以看到为什么?

   private void radBrowseEditor1_ValueChanged(object sender, EventArgs e)
   {
        using (OpenFileDialog openFileDialog = new OpenFileDialog())
        {
            openFileDialog.Title = @"Open .HRM File";
            openFileDialog.InitialDirectory = @"C:\Users\mike\Desktop";
            openFileDialog.Filter = @"HRM files (*.hrm)|*.hrm|All files (*.*)|*.*";
            openFileDialog.FilterIndex = 2;
            openFileDialog.RestoreDirectory = true;

            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {

            }

            using (StreamReader reader = new StreamReader(openFileDialog.FileName, System.Text.Encoding.Default))
            {
                HRM.Active.Raw = reader.ReadToEnd();
            }
        }
   }

可能非常简单。在我安装Telerik之前,我确实使用了工具条时使用的代码,并且工作正常。

1 个答案:

答案 0 :(得分:0)

阅读完本文http://www.telerik.com/help/winforms/editors-browse-editor-working-with.html后,您似乎甚至不需要打扰openFileDialog。看起来你应该检查该值是否为空白。

private void radBrowseEditor1_ValueChanged(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(radBrowseEditor1.Value.ToString()))
    {
        using (StreamReader reader = new StreamReader(radBrowseEditor1.Value.ToString(), System.Text.Encoding.Default))
        {
            HRM.Active.Raw = reader.ReadToEnd();
        }
    }
}