2015-01-12 17 views
0

我的表单上有4个图片框。我希望我的程序检查图片是否不包含字符串标签,如果图片不包含字符串标签,则将图片放在该框上。我运行该程序,但没有发生任何错误。它根本不会加载我的图片。我最好的猜测是我的IF条件错了。这是我的程序:过程是检查picturebox是否为空,并且是否有标签。无法正常工作

Private Sub btnAddImage_Click(sender As Object, e As EventArgs) Handles btnAddImage.Click 

    ofdBrowsePictures.Multiselect = False 
    ofdBrowsePictures.Title = "Select Image to Upload" 
    ofdBrowsePictures.Filter = "Image Files |*.jpg*" 

    If ofdBrowsePictures.ShowDialog() = Windows.Forms.DialogResult.OK Then 

     Dim PBs() As PictureBox = {picMainImage, picImage2, picImage3, picImage4} 
     Dim nextPB = PBs.Where(Function(x) IsNothing(x.Image)).FirstOrDefault 
     Dim nextTag = PBs.Where(Function(x) IsNothing(x.Tag)).FirstOrDefault 

     If Not IsNothing(nextTag) Then 

      nextPB.ImageLocation = ofdBrowsePictures.FileName 


     End If 


    End If 

End Sub 

回答

0

您正在使用“nextPB”,它检查没有图像。然而,你的“nextTag”变量正在检查没有标签。将其更改为:

Private Sub btnAddImage_Click(sender As Object, e As EventArgs) Handles btnAddImage.Click 
    ofdBrowsePictures.Multiselect = False 
    ofdBrowsePictures.Title = "Select Image to Upload" 
    ofdBrowsePictures.Filter = "Image Files |*.jpg*" 

    If ofdBrowsePictures.ShowDialog() = Windows.Forms.DialogResult.OK Then 
     Dim PBs() As PictureBox = {picMainImage, picImage2, picImage3, picImage4} 
     Dim nextTag = PBs.Where(Function(x) IsNothing(x.Tag)).FirstOrDefault 
     If Not IsNothing(nextTag) Then 
      nextTag.ImageLocation = ofdBrowsePictures.FileName 
     End If 
    End If 
End Sub 
+0

此外,在将图像放入PB中后,这并不会更新标签,因此不确定它是否会像下次点击中的预期一样工作。不要忘记更新nextTag中的Tag值,如果这是你需要的算法做... –

相关问题