Diskuze: Prekleslovanie picture boxu

C# .NET .NET (C# a Visual Basic) Prekleslovanie picture boxu American English version English version

Aktivity (1)
Avatar
Ľuboš Čurgó
Redaktor
Avatar
Ľuboš Čurgó:20.4.2013 15:29

Zdravim, potrebujem prekreslit obrazok v pictureboxe podla statusu v checkboxe. (ak je zaskrtnuty tak ukaze napr auto, ak nie tak motorku). Skusal som volat na checkboxe Update aj Refresh ale nic

public void GetSlovakFlag()
      {
          string directory = GetAppDir + @"\pic\";
          string SlovakFlag = directory + @"SlovakFlag\";
          pcbFlag.Image = new Bitmap(SlovakFlag);
      }
public void GetEnglishFlag()
     {
         string directory = GetAppDir + @"\pic\";
         string EnglishFlag = directory + @"EnglishFlag.bmp";
         pcbFlag.Image = new Bitmap(EnglishFlag);

     }
private void chbTest_CheckedChanged(object sender, EventArgs e)
      {
        if (chbTest.Checked)
          {
              GetEnglishFlag();
          }
          else
          {
               GetSlovakFlag();
          }
      }
Editováno 20.4.2013 15:30
 
Odpovědět 20.4.2013 15:29
Avatar
Michal Žůrek (misaz):20.4.2013 15:33

1.) musíš si odchitit Change u cheeckboxu
2.) vytvoř privátni g typu Graphics
3.) po startu aplikace (obsluha události load) dej:

g = pictureBox.CreateGraphics();

3.) do té obsluhy (z bodu 1) dej:

g.clear(barva);
//Vykresleni noveho obrazku
Editováno 20.4.2013 15:34
Nahoru Odpovědět 20.4.2013 15:33
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na Ľuboš Čurgó
Michal Žůrek (misaz):20.4.2013 15:39

Dále by nebylo na chybu udělat to objektové:

public void GetFlag(state)
{
     string directory = GetAppDir + @"\pic\";
     string Flag = directory + state +@"Flag.bmp";
     pcbFlag.Image = new Bitmap(Flag);
}
Nahoru Odpovědět 20.4.2013 15:39
Nesnáším {}, proto se jim vyhýbám.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Ľuboš Čurgó
David Čápka:20.4.2013 15:40

A co to dělá/nedělá?

Nahoru Odpovědět 20.4.2013 15:40
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Michal Žůrek (misaz)
David Čápka:20.4.2013 15:41

Že tam dáš proměnnou neznamená, že je to objektově. Co se týče návrhu, tak je to špatně, ale to bych zde neřešil.

Nahoru Odpovědět 20.4.2013 15:41
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Ľuboš Čurgó
Redaktor
Avatar
Odpovídá na David Čápka
Ľuboš Čurgó:20.4.2013 15:46

ked "zaskrtnem" checkbox tak zmeni obrazok v pictureboxe, ale ked ho "odskrtnem" tak ho neprekresli za novy, zostane tam ten predosli

 
Nahoru Odpovědět 20.4.2013 15:46
Avatar
Ľuboš Čurgó
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Ľuboš Čurgó:20.4.2013 15:46

Ked dojdem domov tak vyskusam a napisem ako som dopadol :D

 
Nahoru Odpovědět 20.4.2013 15:46
Avatar
Michal Žůrek (misaz):20.4.2013 15:56

Použij misto cheeckboxu radiobutton.

Editováno 20.4.2013 15:57
Nahoru Odpovědět 20.4.2013 15:56
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na David Čápka
Michal Žůrek (misaz):20.4.2013 15:56

Jo, spíš šlo o to nemít 300 metod pro každou zemičku.

Nahoru Odpovědět 20.4.2013 15:56
Nesnáším {}, proto se jim vyhýbám.
Avatar
Ľuboš Čurgó
Redaktor
Avatar
Ľuboš Čurgó:21.4.2013 16:57

Tak uz viem kde bola chyba.. V slovakFlag directory mam na konci \

 
Nahoru Odpovědět 21.4.2013 16:57
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 10 zpráv z 10.