HIK Elektronikus Felsőoktatási Tankönyv- és Szakkönyvtár
A Kempelen Farkas Felsőoktatási Digitális Tankönyvtár/vagy más megjelenítő által közvetített digitális tartalmat a felhasználó a szerzői jogról szóló 1999. évi LXXVI. tv. 33. paragrafus (4) bekezdésében meghatározott oktatási, illetve tudományos kutatási célra használhatja fel. A felhasználó a digitális tartalmat képernyőn megjelenítheti, letöltheti, arról elektronikus adathordozóra vagy papíralapon másolatot készíthet, adatrögzítő rendszerében tárolhatja. A Kempelen Farkas Felsőoktatási Digitális Tankönyvtár/vagy más megjelenítő weblapján található digitális tartalmak üzletszerû felhasználása tilos, valamint kizárt a digitális tartalom módosítása és átdolgozása, illetve az ilyen módon keletkezett származékos anyag további felhasználása.

16.29. ImageList

Függvényeket biztosít az Image objektumok gyűjteményének irányításához. Ez az osztály nem örökölhető.

Észrevételek

ImageList-et tipikusan például ListView, TreeView, vagy ToolBar-nál szokás használni. ImageListhez adhatunk bitmaps, ikonokat, vagy meta fájlokat, és a különböző komponensek használhatják azokat, ha igényük van rá.

ImageList használ egy fogantyút a képek listájának irányítására. Ez a fogantyú „Handle” mindaddig nem jön létre, amíg bizonyos műveletek, nem hajtódnak végre, mint például az ImageList feltöltése képekkel.

Példa

A következő példa megmutatja a kijelölt képeket, megváltoztatja, és azután megjeleníti.

namespace myImageRotator

{

using System;

using System.Drawing;

using System.ComponentModel;

using System.Windows.Forms;

public class Form1 : System.Windows.Forms.Form

{

protected Container components;

protected ListBox listBox1;

protected Label label2;

protected Label label3;

protected Label label5;

protected PictureBox pictureBox1;

protected Button button1;

protected Button button2;

protected Button button3;

protected Button button4;

protected Panel panel1;

protected ImageList imageList1;

protected Graphics myGraphics;

protected OpenFileDialog openFileDialog1;

private int currentImage = 0;

public Form1()

{

InitializeComponent();

imageList1 = new ImageList () ;

// The default image size is 16 x 16, which sets up a larger

// image size.

imageList1.ImageSize = new Size(255,255);

imageList1.TransparentColor = Color.White;

// Assigns the graphics object to use in the draw options.

myGraphics = Graphics.FromHwnd(panel1.Handle);

}

protected override void Dispose( bool disposing )

{

if( disposing )

{

if (components != null)

{

components.Dispose();

}

}

base.Dispose( disposing );

}

private void InitializeComponent()

{

// kezőérték beállítás a listBox1, label2, pictureBox1,

// button2, button3, panel1, openFileDialog1, button4, label1,

// button1, és imageList1-nek.

}

protected void button1_Click (object sender, System.EventArgs e)

{

displayNextImage();

}

protected void button2_Click (object sender, System.EventArgs e)

{

imageList1.Images.RemoveAt(listBox1.SelectedIndex);

listBox1.Items.Remove(listBox1.SelectedIndex);

}

protected void button3_Click (object sender, System.EventArgs e)

{

imageList1.Images.Clear();

}

protected void button4_Click (object sender, System.EventArgs e)

{

openFileDialog1.Multiselect = true ;

if(openFileDialog1.ShowDialog() == DialogResult.OK)

{

if (openFileDialog1.FileNames != null)

{

for(int i =0 ; i < openFileDialog1.FileNames.Length ; i++ )

{

addImage(openFileDialog1.FileNames[i]);

}

}

else

addImage(openFileDialog1.FileName);

}

}

private void addImage(string imageToLoad)

{

if (imageToLoad != "")

{

imageList1.Images.Add(Image.FromFile(imageToLoad));

listBox1.BeginUpdate();

listBox1.Items.Add(imageToLoad);

listBox1.EndUpdate();

}

}

void displayNextImage()

{

if(imageList1.Images.Empty != true)

{

if(imageList1.Images.Count-1 > currentImage)

{

currentImage++;

}

else

currentImage=0;

panel1.Refresh();

imageList1.Draw(myGraphics,10,10,currentImage);

pictureBox1.Image = imageList1.Images[currentImage];

label3.Text = "Current image is " + currentImage ;

listBox1.SelectedIndex = currentImage;

label5.Text = "Image is " + listBox1.Text ;

}

}

public static void Main(string[] args)

{

Application.Run(new Form1());

}

}

}

Tulajdonságok

ColorDepth

Beállítja a kép lista képeinek szín telítettségét

 

Contanier

Beállítja az IContaniert amit a komponens tartalmaz

 

Handle

Beállítja a kép lista objektum bizonyos fogantyúját

 

HandleCreated

Beállítja az értéket ha Win32-es fogantyút készítettünk.

 

Images

Itt lehet a képeket az ImageListhez fűzni

 

ImagesSize

Képméret beállítása

 

ImageStream

Beállíthatjuk a fogantyút az ImageListStreamerhez összekapcsolva az aktuális kép listával

 

Site

Beállítja az Isitetot a komponenshez

 

TransparentColor

Szináttetszőség beállítása