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