遇到模块问题(noob编码器)

时间:2014-07-30 09:45:09

标签: vb.net

我不是那么有经验,这是一个菜鸟问题。无论如何,我希望你会变得宽容。 我在我的vb.net应用程序中创建了一个小模块,每次都不会重写相同的代码。 所以我创建了module.vb

我把它放在里面,这段代码:

Module Save
Dim SaveFileDialog1 As New SaveFileDialog
Dim PictureBox1 As New PictureBox
Public idname As String

Public Sub Save()
        SaveFileDialog1.FileName = idname
        SaveFileDialog1.Filter = "(*.png)|*.png|(*.jpg)|*.jpg|(*.bmp)|*.bmp"
        SaveFileDialog1.ShowDialog()
        PictureBox1.Image.Save(SaveFileDialog1.FileName)
    'End If #error while pasting :)
End Sub
End Module

在表单中,我以这种方式调用模块:

Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles     ToolStripSave.Click
    Save() 'before it was Save.Save(), but only Save() give me the error "Save is a type and cannot be used as expression."
End Sub

我运行调试并且没有错误但是当我尝试保存图片时,我收到如下错误: “保存”是一种类型,不能用作表达式。

我犯错误的地方?

2 个答案:

答案 0 :(得分:1)

首先,你不应该创建一个名为Save的类/模块,然后创建一个名为Save的子,特别是在使用名为Save的方法时。错误与否,这很糟糕。

第二件事,我不确定那里是End If是什么,因为没有If语句。要么你忘记写If something Then,要么你误写了End If

有关SaveFileDialog的详细信息,请查看here

答案 1 :(得分:0)

你在函数调用中犯了一个错误Save.Save()我们可以直接调用save()方法,因为它在模块中被声明为public,因此它具有全局范围

请对代码进行以下更正并再次执行:

Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles     ToolStripSave.Click
    Save()
End Sub

注意:尽量避免使用关键字作为功能名称