Přejít na hlavní obsah

Jak vytvořit klikací PictureBox

  • Vratislav Benešová
  • Praxe

Mnoho softwarových vývojářů na. NET se setkalo s nutností změnit chování standardního ovládacího prvku PictureBox ve Windows Forms. Jednou z nejoblíbenějších změn je přidání funkčnosti kliknutí, aby uživatel mohl komunikovat s obrázkem, například otevírat nová okna nebo provádět další akce kliknutím myši.

Standardní PictureBox však neposkytuje takovou funkčnost "po vybalení". Ale nezoufejte! Existuje snadný způsob, jak udělat PictureBox kliknutým pomocí událostí myši a trochou kódu.

Nejprve musíte vytvořit novou třídu zděděnou z PictureBox, abyste mohli přizpůsobit své chování. V této třídě můžete přidat obslužnou rutinu událostí pro kliknutí myší a nastavit správnou akci pro obslužnou rutinu.

Problém s PictureBox

Problém:

Je třeba udělat z PictureBox klikací prvek s možností reagovat na stisknutí myši a provádět určité akce při kliknutí na obrázek.

Řešení:

Aby byl PictureBox klikací, je nutné použít událost MouseClick a nakonfigurovat příslušnou obslužnou rutinu události.

K tomu lze použít kód v jazyce C#:

pictureBox.MouseClick += new MouseEventHandler(pictureBox_Click); private void pictureBox_Click(object sender, MouseEventArgs e) < // Ваш код обработчика события >

V tomto příkladu bude obslužná rutina události pictureBox_Click vyvolána kliknutím na PictureBox.

Problém s PictureBox lze tedy vyřešit přidáním obslužné rutiny události MouseClick a napsáním příslušného kódu k provedení nezbytných kroků při kliknutí na obrázek.

Neaktivní obrázek

Jedním ze způsobů, jak změnit stav obrazu při interakci s ním, je použití událostí. Když uživatel klikne na obrázek, spustí se událost, ke které můžeme přiřadit příslušnou obslužnou rutinu. V něm můžeme označit akce, které by měly nastat při kliknutí na obrázek.

Dalším způsobem je použití hypertextových odkazů. Můžeme přidat obrázek do značky a přiřadit odkaz, kam by stránka měla jít, když kliknete na obrázek.

Jak udělat obrázek kliknutým

PictureBox pictureBox = new PictureBox();

// Další nastavení PictureBox

private void PictureBox_MouseDown(object sender, MouseEventArgs e)

// Akce při kliknutí na obrázek