您的位置:首页 > 编程语言 > VB

[VB.NET]openFileDialog控件的问题:以下两种代码哪个更优化一些?

2008-12-27 22:16 671 查看



<script type="text/javascript"><!--
google_ad_client = "pub-8333940862668978";
/* 728x90, 创建于 08-11-30 */
google_ad_slot = "4485230109";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

openFileDialog控件的问题:以下两种代码哪个更优化一些?
我在msdn中看到的示例:

Private Sub button1_Click(sender As Object, e As System.EventArgs)
Dim myStream As Stream
Dim openFileDialog1 As New OpenFileDialog()

openFileDialog1.InitialDirectory = "c:/ "
openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.* "
openFileDialog1.FilterIndex = 2
openFileDialog1.RestoreDirectory = True

If openFileDialog1.ShowDialog() = DialogResult.OK Then
myStream = openFileDialog1.OpenFile()
If Not (myStream Is Nothing) Then
'' Insert code to read the stream here.
myStream.Close()
End If
End If
End Sub

其中Dim myStream As Stream其实要改为io.Stream
我不明白这些繁琐的定义有什么做为,因为我认为openfiledialog本身就是一个控件,为什么不能直接对它进行操作而要另外引用一个对象变量来进行操作?后来我自己改了一下:

Private Sub openF_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles openF.Click

OpenFileDialog1.InitialDirectory = "c: "
OpenFileDialog1.FileName = " "
OpenFileDialog1.Filter = "图片文件 (*.BMP)| "
OpenFileDialog1.ShowDialog()
End Sub

我想效果是一样的,但这个代码还有一个问题就是:当前对话框列表会显示所有类型的文件,如何做到,让对话框里只显示扩展名为BMP的文件?
__________________________________________________________________________
OpenFileDialog1.Filter = "图片文件(BMP)|*.bmp " ''设置打开文件类型过滤器
__________________________________________________________________________
你的Filter 设置错误了,必须要有前后分隔符号

例如:
OpenFileDialog1.Filter = "jpg文件 (*.jpg)|*.jpg;*.jpeg|bmp文件 (*.bmp)|*.bmp|gif文件 (*.gif)|*.gif|支持的三种图形 (*.gif)|*.gif;*.bmp;*.jpeg;*.jpg "

前面的是说明,|后边的才是具体类型。
可以写多个,就是下拉框的效果了
__________________________________________________________________________
一样的
只是第一个示例比第二个全面点
__________________________________________________________________________
你的Filter书写有误
openFileDialog1.Filter = "图片文件(BMP)(*.bmp)|*.bmp "

第一个是在打开对话框时进行了一些初使化,比如
openFileDialog1.InitialDirectory = "c:/ "
默认打开的是c盘

你不显示对它进行初始化,它会用缺省值对它进行初使化的
__________________________________________________________________________
你的代码有区别么?
__________________________________________________________________________
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息