'OpenFileDialog'是一个类型,不能作为表达式使用。

问题描述 投票:-1回答:1

嗨,我得到了一个错误,因为OpenFileDialog和SaveFileDialog是一个类型,不能作为表达式使用,请你帮助我解决这些错误。error

     Private Sub btnEncode_Click(sender As Object, e As EventArgs)

        Using (SaveFileDialog sfd = New SaveFileDialog() {Filter() = "JPEG|*.jpg", ValidateNames = True})

            If (sfd.ShowDialog() = DialogResult.OK) Then

                MessagingToolkit.QRCode.Codec().QRCodeEncodere(encoder) = New 
                MessagingToolkit.QRCode.Codec.QRCodeEncoder()
                encoder.QRCodeScale = 8
                Bitmap(bmp) = encoder.Encode(txt.Encode.Text)
                PictureBox.Image = bmp
                bmp.Save(sfd.FileName, ImageFormat.Jpeg)
            End If
        End Using
    End Sub

    Private Sub btnDecode_Click(sender As Object, e As EventArgs) Handles Button2.Click

        Using (OpenFileDialog ofd = new OpenFileDialog() { Filter = "JPEG|*.jpg", ValidateNames = true, Multiselct - False})

            If (ofd.ShowDialog() = DialogResult.OK) Then

                PictureBox.Image = Image.FromeFile(ofd.FileName)
                MessagingToolkit.QRCode.Codec.QRCodeDecoder(Decoder) = New 
                MessagingToolkit.QRCode.Codec.QRCodeDecoder()
                txtDecode.Text = decoder.Decode(New QRCodeBitmapImage = (PictureBox.ImageBitmap))
            End If
        End Using
    End Sub
vb.net visual-studio-2012
1个回答
-1
投票

你似乎把C#和VB.NET完全搞混了。如果你要完全用VB.NET写,代码应该是。

 Private Sub btnEncode_Click(sender As Object, e As EventArgs)

        Using sfd As SaveFileDialog = New SaveFileDialog() With {.Filter = "JPEG|*.jpg", .ValidateNames = True})

            If sfd.ShowDialog() = DialogResult.OK Then

                Dim encoder As MessagingToolkit.QRCode.Codec().QRCodeEncoder = New MessagingToolkit.QRCode.Codec.QRCodeEncoder()
                encoder.QRCodeScale = 8
                Dim bmp As Bitmap = encoder.Encode(txtEncode.Text)
                PictureBox.Image = bmp
                bmp.Save(sfd.FileName, ImageFormat.Jpeg)
            End If
        End Using
    End Sub

    Private Sub btnDecode_Click(sender As Object, e As EventArgs) Handles Button2.Click

        Using ofd As OpenFileDialog = new OpenFileDialog() With {.Filter = "JPEG|*.jpg", .ValidateNames = True, .Multiselect = False})

            If ofd.ShowDialog() = DialogResult.OK Then
                PictureBox.Image = Image.FromeFile(ofd.FileName)
                Dim decoder As MessagingToolkit.QRCode.Codec.QRCodeDecoder = New MessagingToolkit.QRCode.Codec.QRCodeDecoder()
                txtDecode.Text = decoder.Decode(New QRCodeBitmapImage(PictureBox.ImageBitmap))
            End If
        End Using
    End Sub

如果你想完全用C#写,代码应该是:

 private void btnEncode_Click(object sender, EventArgs e)
{
        using (SaveFileDialog sfd = new SaveFileDialog() {Filter = "JPEG|*.jpg", ValidateNames = True})
        {
            if(sfd.ShowDialog() == DialogResult.OK)
            {
                MessagingToolkit.QRCode.Codec().QRCodeEncoder encoder = new MessagingToolkit.QRCode.Codec.QRCodeEncoder();
                encoder.QRCodeScale = 8;
                Bitmap bmp = encoder.Encode(txtEncode.Text);
                PictureBox.Image = bmp;
                bmp.Save(sfd.FileName, ImageFormat.Jpeg);
            }
        }
}

private void btnDecode_Click(object sender, EventArgs e)
{
        using (OpenFileDialog ofd = new OpenFileDialog() { Filter = "JPEG|*.jpg", ValidateNames = true, Multiselect = False})
        {
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                PictureBox.Image = Image.FromeFile(ofd.FileName);
                MessagingToolkit.QRCode.Codec.QRCodeDecoder decoder = New 
                MessagingToolkit.QRCode.Codec.QRCodeDecoder();
                txtDecode.Text = decoder.Decode(New QRCodeBitmapImage(PictureBox.ImageBitmap));
            }
       }
}

PictureBox控件没有一个名为 "ImageBitmap "的属性 所以我不确定你的意思是不是 "Image"

© www.soinside.com 2019 - 2024. All rights reserved.