Část 4. - Přiřazení funkcí

20. 9. 2013 00:00

Do teď jsme měli jen tělo programu, které bylo bez duše. Neumělo nic. Ale teď naučíme náš program všechny funkce, které by měl umět. Nejprve však přidáme do client (pokud nemáme) prvek OpenFileDialog, který přetáhneme do našeho formuláře. Prvek se poté umístí dole návrháře. Díky tomuto prvku můžeme otevírat soubory.

Otevřeme si kód. Jedna z cest je, že klikneme pravým tlačítkem myši na formulář a vybereme Zobrazit kód. Nyní vidíme prázdný kód (prázdný obsahuje pouze using část, označením namespace, označení class a public client() s InitializeComponent()). Pokud vám něco chybí v using části, opište to z názorné ukázky, protože to budeme potřebovat.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.IO;

using System.Windows.Forms;

 

namespace Picview

{

   public partial class client : Form

   {

      public client()

      {

         InitializeComponent();

      }

   }

}

Takže vidíme prázdný kód. Přepneme do návrháře a poklikáme dvojitým klikem na všechny tlačítka a rádiové tlačítka. Pozn. program vás bude po dvojkliku přenášet do kódu.

Nyní máme vytvořené funkce pro prvky, které však nic neumí. Začněme tedy doplňovat. Prvek Load bude načítat obrázky do našeho prohlížeče. Načtení vytvoříme pomocí podmínky, kdy se ptám, zda je výběr dialogu potvrzen. Pokud ano, získáme adresu a obrázek načteme do prohlížeče. 

private void Load_Click(object sender, EventArgs e)

{

   if (otevri.ShowDialog() == System.Windows.Forms.DialogResult.OK)

   {

      PictureBox.Image = Image.FromFile(otevri.FileName);

   }

}

Obrázek tedy vidíme, ale obrázek je moc velký, špatně umístěný, ... Takže potřebujeme s obrázkem pracovat. K tomu poslouží rádiové tlačítka. Tile je zobrazení v normální velikosti a v levém horním rohu, Center image nám obrázek vycentruje a zanechá velikost, Stretch obrázek zmenší do prvku bez zachování poměru stran a Zoom obrázek zmenší na velikost prvku, ale zanechá poměr stran. Pozn. Anglické pojmenování používám pro lepší zapamatování si všech funkcí a schopností prvků a objektů.

private void type2_CheckedChanged(object sender, EventArgs e)

{

   PictureBox.SizeMode = PictureBoxSizeMode.CenterImage;

}

 

private void type4_CheckedChanged(object sender, EventArgs e)

{

   PictureBox.SizeMode = PictureBoxSizeMode.Normal;

}

 

private void type3_CheckedChanged(object sender, EventArgs e)

{

   PictureBox.SizeMode = PictureBoxSizeMode.StretchImage;

}

 

private void type1_CheckedChanged(object sender, EventArgs e)

{

   PictureBox.SizeMode = PictureBoxSizeMode.Zoom;

}

Vidíme, upravujeme, ale nevymažeme. Další funkce bude smazání obrázku z programu (ne ve složce), Příkaz je velice jednoduchý.

private void Clear_Click(object sender, EventArgs e)

{

   PictureBox.Image = null;

   Copy.Enabled = false;

}

 

Fotogalerie:

Všechny fotky k lekci najdete na našem Facebook profilu a nebo na dropbox. Ke stažení i se vzorovým příkladem v sekci Download -> Seriál C#.