嗨,我得到了一个错误,因为OpenFileDialog和SaveFileDialog是一个类型,不能作为表达式使用,请你帮助我解决这些错误。
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
你似乎把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"