←Select platform

AutoDisposeImages Property

Summary

Gets or sets a value indicating whether to auto dispose the old image when a new image is set into the items of this ImageList.

Syntax

C#
VB
C++
public bool AutoDisposeImages { get; set; } 
Public Property AutoDisposeImages As Boolean 
public: 
property bool AutoDisposeImages { 
   bool get(); 
   void set (    bool ); 
} 

Property Value

true if the Leadtools.RasterImage object in the items of this ImageList is automatically disposed when a new image is set; otherwise, false. Default value is true.

Remarks

When you change the value of this property, this control iterate all the items inside it and set the RasterImageListItem.AutoDisposeImages value of each item that is of type RasterImageListItem accordingly. For more information, refer to RasterImageListItem.AutoDisposeImages.

Example

C#
VB
using Leadtools.Help; 
using Leadtools.Windows.Controls; 
using Leadtools; 
using Leadtools.Codecs; 
 
public void ImageList_AutoDisposeImages(ImageList imageList) 
{ 
   // Make sure the AutoDisposeImages property is set to true  
   imageList.AutoDisposeImages = true; 
   MessageBox.Show("Removing an item then accessing its image with AutoDisposeImages set to true"); 
 
   // Remove the first item  
   RasterImageListItem item = imageList.Items[0] as RasterImageListItem; 
   imageList.Items.RemoveAt(0); 
 
   // Try to save this item's image into a disk file  
   // This will throw an exception since the item image has been dispose  
   // as a result of having the AutoDisposeImages false set to true  
   RasterCodecs codecs = new RasterCodecs(); 
   try 
   { 
      codecs.Save(item.Image, Path.Combine(LEAD_VARS.ImagesDir, "Test.jpg"), RasterImageFormat.Jpeg, 24); 
      MessageBox.Show("Image saved correctly"); 
   } 
   catch (Exception ex) 
   { 
      MessageBox.Show(ex.Message); 
   } 
 
   MessageBox.Show("Removing an item then accessing its image with AutoDisposeImages set to false"); 
 
   // Now remove the next item, this time make sure to set the  
   // AutoDisposeImages property to false before you remove the item  
   // from the control collection  
   item = imageList.Items[0] as RasterImageListItem; 
 
   imageList.AutoDisposeImages = false; 
   imageList.Items.RemoveAt(0); 
   imageList.AutoDisposeImages = true; 
 
   // Try to save this item's image into a disk file  
   // This time, this should work correcly since the control did not dispose  
   // the item image.  
   try 
   { 
      codecs.Save(item.Image, Path.Combine(LEAD_VARS.ImagesDir, "Test.jpg"), RasterImageFormat.Jpeg, 24); 
      MessageBox.Show("Image saved correctly"); 
   } 
   catch (Exception ex) 
   { 
      MessageBox.Show(ex.Message); 
   } 
 
   codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools.Windows.Controls 
Imports Leadtools.Codecs 
Imports Leadtools 
 
Public Sub ImageList_AutoDisposeImages(ByVal imageList As ImageList) 
   ' Make sure the AutoDisposeImages property is set to true  
   imageList.AutoDisposeImages = True 
   MessageBox.Show("Removing an item then accessing its image with AutoDisposeImages set to true") 
 
   ' Remove the first item  
   Dim item As RasterImageListItem = CType(imageList.Items(0), RasterImageListItem) 
   imageList.Items.RemoveAt(0) 
 
   ' Try to save this item's image into a disk file  
   ' This will throw an exception since the item image has been dispose  
   ' as a result of having the AutoDisposeImages false set to true  
   Dim codecs As New RasterCodecs() 
   Try 
      codecs.Save(item.Image, Path.Combine(LEAD_VARS.ImagesDir, "Test.jpg"), RasterImageFormat.Jpeg, 24) 
      MessageBox.Show("Image saved correctly") 
   Catch ex As Exception 
      MessageBox.Show(ex.Message) 
   End Try 
 
   MessageBox.Show("Removing an item then accessing its image with AutoDisposeImages set to false") 
 
   ' Now remove the next item, this time make sure to set the  
   ' AutoDisposeImages property to false before you remove the item  
   ' from the control collection  
   item = CType(imageList.Items(0), RasterImageListItem) 
 
   imageList.AutoDisposeImages = False 
   imageList.Items.RemoveAt(0) 
   imageList.AutoDisposeImages = True 
 
   ' Try to save this item's image into a disk file  
   ' This time, this should work correcly since the control did not dispose  
   ' the item image.  
   Try 
      codecs.Save(item.Image, Path.Combine(LEAD_VARS.ImagesDir, "Test.jpg"), RasterImageFormat.Jpeg, 24) 
      MessageBox.Show("Image saved correctly") 
   Catch ex As Exception 
      MessageBox.Show(ex.Message) 
   End Try 
 
   codecs.Dispose() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

Requirements

Target Platforms

See Also

Reference

ImageList Class

ImageList Members

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Windows.Controls Assembly