Diskuze: potřeboval bych pomoc

C# .NET .NET (C# a Visual Basic) potřeboval bych pomoc American English version English version

Avatar
Tom Blechy
Člen
Avatar
Tom Blechy:

ahoj, potřeboval bych pomoct s programováním ve visual studiu 2015
mám 4 obrázky pojmenované a, b, c, d; a dvě tlačítka 1,2.
potřebuji aby se mi zobrazil obrázek a
poté když ho mám zobrazený a kliknu na tlačítko 1 tak se zobrazí obrázek b, po dalším kliknutí c, po dalším d, a poté znovu obrázek a,
a pokud kliknu na tlačítko 2 tak z obrázku a to přeskočí na obrázek d, c, b a znovu na a
přemýšlel sem o tom, že bych použil if, ale nevím jak tam nastavit vykreslení do panelu a tak nějak netuším jak bych to tam měl zadat.
předem děkuji za odpovědi...

 
Odpovědět 17.11.2015 16:13
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Tom Blechy
ostrozan:

Visual studio je dost široký pojem C#,nebo VB? WF, nebo WPF?

 
Nahoru Odpovědět 17.11.2015 19:40
Avatar
Tom Blechy
Člen
Avatar
Odpovídá na ostrozan
Tom Blechy:

to si nejsem jistý mám verzi enterprise
https://www.visualstudio.com/…ditions.aspx jestli to nějak pomůže
ale jinak netušim, kde bych to mohl vyčíst

Editováno 18.11.2015 19:32
 
Nahoru Odpovědět 18.11.2015 19:30
Avatar
Odpovídá na Tom Blechy
Michael Škrášek:

On myslel jazyk a typ aplikace, ne verzi VS.

Nahoru Odpovědět 18.11.2015 19:36
Proč to dělat složitě, když to jde jednoduše.
Avatar
Tom Blechy
Člen
Avatar
Odpovídá na Michael Škrášek
Tom Blechy:

jo táák :D pardon, to sem nepochopil :D ták to je windows forms application a je to ve visual c#

 
Nahoru Odpovědět 18.11.2015 20:00
Avatar
Odpovídá na Tom Blechy
Petr Čech (czubehead):

uděláš si pole, ve kterém budeš mít uložené ty obrázky, žádné

var imga,var imgb, var imgc etc

Jestli jsem to pochopil dobře, tak to jsou tlačítka tam a zpět.
Proto si uděláš dummy proměnnou (pomocnou), kde bude uložený index právě zobrazeného obrázku.

int _currentPos=0;

Potom si uděláš metodu na vykreslení obrázku z daného indexu

private void DrawImage(int index)
{
   _currentPos=index;

   //vykreslení obrázku
}

Nebo to také můžeš řešit přes setter. Pokud nevíš jak, vrať se k OOP a až potom přejdi na WF nebo lépe WPF.
Vykreslení obrázku je něco jiného, jde o to, v jakém datovém typu je ten obrázek.

Nahoru Odpovědět  +2 18.11.2015 20:24
Why so serious? -Joker
Avatar
Shakul
Redaktor
Avatar
Shakul:

Ve windows formech je na pole obrázků přímo kontrolka, která umožňuje dále s polem obrázků pracovat. (přiřadí jim index a podobně).
Jmenuje se ImageList.
Do této kontrolky si naháhej obrázky, které pak můžeš promítat třeba v kontrolce PictureBox.

// Pomocná proměnná
private int index = 0;
// Tlačítko zpět
private void backButton_Click(object sender, EventArgs e)
{
    index--;
        // Pokud je index menší než 0, nastaví se na konec pole s obrázky
    if (index < 0)
        index = imageList1.Images.Count - 1;
    pictureBox1.Image = imageList1.Images[index];
}
// Tlačítko další
private void nextButton_Click(object sender, EventArgs e)
{
    index++;
        // Pokud index přesáhne počet obrázků v poli, tak se nastaví znova na 0
    if (index > imageList1.Images.Count - 1)
        index = 0;
    pictureBox1.Image = imageList1.Images[index];
}
Editováno 19.11.2015 11:37
Akceptované řešení
+20 Zkušeností
Řešení problému
 
Nahoru Odpovědět  +2 19.11.2015 11:35
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.