C# ';系统可为空<;布尔>';不包含';OK';
我正在尝试一个来自的基本文件对话框示例,但在“OK”上出现错误,我不知道为什么 错误1“System.Nullable”不包含“OK”的定义,并且找不到接受“System.Nullable”类型的第一个参数的扩展方法“OK”(是否缺少using指令或程序集引用?)C# ';系统可为空<;布尔>';不包含';OK';,c#,wpf,file,dialog,C#,Wpf,File,Dialog,我正在尝试一个来自的基本文件对话框示例,但在“OK”上出现错误,我不知道为什么 错误1“System.Nullable”不包含“OK”的定义,并且找不到接受“System.Nullable”类型的第一个参数的扩展方法“OK”(是否缺少using指令或程序集引用?) 听起来您有一个名为DialogResult的本地属性。尝试改用System.Windows.Forms.DialogResult.OK。在.NET framework中有两个版本的OpenFileDialog:和。看起来您使用的是WP
听起来您有一个名为
DialogResult
的本地属性。尝试改用System.Windows.Forms.DialogResult.OK
。在.NET framework中有两个版本的OpenFileDialog
:和。看起来您使用的是WPF one,它实际上从OpenFile
返回一个Nullable
值。WinForm版本返回一个对话框结果
值,这似乎是您所期望的。它似乎试图用于系统.Windows.Controls
。
尝试显式调用System.Windows.Forms
比如:
您的OpenFileDialog来自哪个程序集?这很有效,您能更具体一点吗?错误可能不在这里…您链接到的版本是WIN32版本。我认为WPF没有特定的类。@帕格注意,所讨论的类是在PresentationFramework程序集中定义的,它是WPF的核心程序集之一。
private void button1_Click(object sender, System.EventArgs e)
{
Stream myStream = null;
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.InitialDirectory = "c:\\" ;
openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ;
openFileDialog1.FilterIndex = 2 ;
openFileDialog1.RestoreDirectory = true ;
if(openFileDialog1.ShowDialog() == DialogResult.OK)
{
try
{
if ((myStream = openFileDialog1.OpenFile()) != null)
{
using (myStream)
{
// Insert code to read the stream here.
}
}
}
catch (Exception ex)
{
MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
}
}
}
System.Windows.Forms.OpenFileDialog openFileDialog1 = new System.Windows.Forms.OpenFileDialog();