Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Powershell:Listview-映像_C#_.net_Image_Listview_Powershell - Fatal编程技术网

C# Powershell:Listview-映像

C# Powershell:Listview-映像,c#,.net,image,listview,powershell,C#,.net,Image,Listview,Powershell,我在代码中努力寻找bug: 所需行为:我将拥有随机参数的调用列表,例如: 呼叫:图标(“AAA”) 呼叫:图标(“AAA”) 呼叫:图标(“BBB”) 呼叫:图标(“AAA”) 呼叫:图标(“BBB”) 呼叫:图标(“BBB”) 根据调用的参数,图标应加载并显示在listview中 真实行为:显示的图标取决于上次调用的参数。这是否意味着如果最后一个调用参数为BBB,则会为所有listitem显示图标BBB.ico。如果last call参数为AAA,则会为所有列表项显示图标AAA.ico 代码:

我在代码中努力寻找bug:

所需行为:我将拥有随机参数的调用列表,例如:

  • 呼叫:图标(“AAA”)
  • 呼叫:图标(“AAA”)
  • 呼叫:图标(“BBB”)
  • 呼叫:图标(“AAA”)
  • 呼叫:图标(“BBB”)
  • 呼叫:图标(“BBB”)
  • 根据调用的参数,图标应加载并显示在listview中

    真实行为:显示的图标取决于上次调用的参数。这是否意味着如果最后一个调用参数为BBB,则会为所有listitem显示图标BBB.ico。如果last call参数为AAA,则会为所有列表项显示图标AAA.ico

    代码:

    功能图标($command){

    }

    ListView是在表单中创建的

    {
      $objListView = New-Object System.Windows.Forms.ListView
      $objListView.View = [System.Windows.Forms.View]::Details
      $objListView.FullRowSelect = $true
      $LVcol1 = New-Object System.Windows.Forms.ColumnHeader
      $objListView.Columns.AddRange(
        [System.Windows.Forms.ColumnHeader[]](@($LVcol1))) 
      $LVcol1.Text = "Events"
      $LVcol1.Width = 165
    
      $objListView.Location = New-Object System.Drawing.Size(10,40) 
      $objListView.Size = New-Object System.Drawing.Size(260,120) 
      $objListView.Height = 120
      $objListView.Add_DoubleClick({Clicked;$objListView.Items.Remove($objListView.SelectedItems[0])})
      $objForm.Controls.Add($objListView) 
    }
    
    ListView的更新是通过定时调用的计时器调用的,定时检查“更新”。当最后一项从AAA更改为BBB时,图标将更改。但它改变了所有图标,不仅是必要的


    知道问题在哪里吗?

    问题已经解决

    问题是调用listItem的错误索引。现在一切都按预期显示了

    $global:imageListSmall = new-Object System.Windows.Forms.ImageList
    $global:bitm2=[System.Drawing.Image]::FromFile("c:\psn\AAA.ico") 
    $global:bitm=[System.Drawing.Image]::FromFile("c:\psn\BBB.ico")     
    $global:imageListSmall.Images.Add("AAA",$bitm)
    $global:imageListSmall.Images.Add("BBB",$bitm2)
    
    function Icon($command){
    
    if ($command -like '*AAA*'){
    $objListBox.SmallImageList = $imageListSmall;
    $objListBox.Items.Add($command,0) #for first image need index 0
    }
    
    if ($command -like '*BBB*'){
    $objListBox.SmallImageList = $imageListSmall;
    $objListBox.Items.Add($command,1) #for second image need index 1
    }}
    

    您的代码不显示创建
    $objListView
    的位置。可能是在添加
    $command
    之前需要清除它。列表框是在表单中创建的(已更新的原始帖子)…在调用update之前,我将尝试执行一些清理。
    $global:imageListSmall = new-Object System.Windows.Forms.ImageList
    $global:bitm2=[System.Drawing.Image]::FromFile("c:\psn\AAA.ico") 
    $global:bitm=[System.Drawing.Image]::FromFile("c:\psn\BBB.ico")     
    $global:imageListSmall.Images.Add("AAA",$bitm)
    $global:imageListSmall.Images.Add("BBB",$bitm2)
    
    function Icon($command){
    
    if ($command -like '*AAA*'){
    $objListBox.SmallImageList = $imageListSmall;
    $objListBox.Items.Add($command,0) #for first image need index 0
    }
    
    if ($command -like '*BBB*'){
    $objListBox.SmallImageList = $imageListSmall;
    $objListBox.Items.Add($command,1) #for second image need index 1
    }}