2017-04-01 3 views
1

ファイルをListviweに追加すると、選択したファイルの機能超過アイコンが追加され、画像一覧に表示されますが、15個以上のファイルを選択すると、このエラーメッセージが表示されます "無効な引数= '15'は 'StateImageIndex'に無効です。"ここ無効な引数=値 '15'は 'StateImageIndex'には有効ではありません

は私のコードです:

Dim ofg As New OpenFileDialog 
    Dim lvp As New ListViewItem 

    ofg.Multiselect = True 
    ofg.Filter = "All Files|*.*" 

    If ofg.ShowDialog = Windows.Forms.DialogResult.OK Then 
     For Each File As String In ofg.FileNames 

      Dim hInst As IntPtr = Marshal.GetHINSTANCE([Assembly].GetExecutingAssembly.GetModules()(0)) 
      Dim iIcon As Int32 = 0 
      Dim hIcon As IntPtr 

      hIcon = ExtractAssociatedIcon(hInst, File, iIcon) 
      ico = Icon.FromHandle(hIcon) 
      icondufile = ico.ToBitmap 

      Img.Images.Add(icondufile) 

      Dim C_File As New IO.FileInfo(File) 

      Dim ItemFile As ListViewItem = New ListViewItem(C_File.Name) 
      lvp = Files_List.Items.Add(ItemFile) 
      lvp.SubItems.Add(MD5Checksum(File)) 
      lvp.SubItems.Add(hash_generator("sha1", File)) 
      lvp.SubItems.Add(hash_generator("sha256", File)) 
      lvp.SubItems.Add(GetCRC32(File)) 
      lvp.SubItems.Add(hash_generator("sha384", File)) 
      lvp.SubItems.Add(hash_generator("sha512", File)) 
      lvp.SubItems.Add(C_File.FullName) 
      lvp.SubItems.Add(C_File.Extension) 
      Dim Index As Integer 

      lvp.StateImageIndex = lvp.Index 'The error comes from here 

      ItemFile = Nothing 

     Next 

答えて

0

ドキュメントによると:

StateImageListプロパティで指定されたイメージリストは、画像の任意の数を含めることができ、かつStateImageIndexプロパティがに設定することができますが、 14以下のいずれの値であっても、インデックス位置0および1の画像のみが状態画像として表示される。

StateImageListプロパティで何をしようとしていますか?なぜそれを14より大きな値に設定していますか?

+0

StateImageListインデックスを設定しないと状態イメージが表示されません:(HELP Plz !! –

+0

14以上の状態イメージがありますか?ドキュメントによれば、最初の2つ(インデックス0と1)のみが使用されています –

+0

画像リストは空です。ファイルをlistviweに追加すると、BMP画像はイメージリスト 'Imgに追加されます。 Image.Add(icondufile) 'をクリックし、15個以上のファイルを追加するとエラーメッセージが表示されます。イメージリストにはイメージリストがあります。イメージリストでは、問題はどのように私は14のstatimage 15のファイルの後に起こるのプレビューを表示することができます.... https://ibb.co/n1FKYv –

関連する問題