Button/label – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Button/label – C / C++ – Fórum – Programujte.comButton/label – C / C++ – Fórum – Programujte.com

 

kk
~ Anonymní uživatel
3 příspěvky
12. 6. 2020   #1
-
0
-

Ahojky, potřebovala bych poradit. 

kód mám takto 

{
    public partial class Form1 : Form
    {
        int rok = 1300;
        string[] otazky = new string[100];
        int[] odpovedi = new int[100];

        public Form1()
        {
            InitializeComponent();
            otazky[0] = "Kdy skončila válka růží?";
            odpovedi[0] = 1487;
            otazky[1] = "Kterého roku proběhla bitva u Marenga?";
            odpovedi[1] = 1800;
            otazky[2] = "Kdy nastoupil na trůn Jakub I.?";
            odpovedi[2] = 1603;
            otazky[3] = "Kterým rokem nastoupili první Tudorovci na anglický trůn?";
            odpovedi[3] = 1485;
            otazky[4] = "Kdy byla zavedena v ČR povinná školní docházky?";
            odpovedi[4] = 1869;
            otazky[5] = "Rok zavedení Gregoriánského kalendáře?";
            odpovedi[5] = 1584;

        }
        
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Left)
            {
                kurzor.Left -= 1;
                rok -= 1;
            }
            if (e.KeyCode == Keys.Right)
            {
                kurzor.Left += 1;
                rok += 1;
            }
            label1.Text = rok.ToString();
           
            
        }


        private void kurzor_Click(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            label2.Text = odpovedi.ToString();
            
            label3.Text = otazky.ToString();
        }
    }
}

Potřebovala bych pomoct s těmi labely. Při kliknutí na button aby se v label2 a label3 ukázali ty přednastavené otazky a odpovědi. Dalšim problémem je, že když přidám ten button tak mi nefunguje label1 - při klikání na kurzory se mi přidávali ty roky.

Jsem už vážně zoufalá

Děkuji

Nahlásit jako SPAM
IP: 37.188.136.–
gna
~ Anonymní uživatel
1882 příspěvků
12. 6. 2020   #2
-
0
-

Jestli myslíš celý obsah toho pole, tak můžeš použít třeba Join.

label2.Text = string.Join(", ", odpovedi);

Vstup z klávesnice se "posílá" prvku, který má "focus", tedy tomu Buttonu. Aby ty události "viděl" i Form, můžeš nastavit KeyPreview na true.

Nahlásit jako SPAM
IP: 213.211.51.–
JerryM0
Věrný člen
12. 6. 2020   #3
-
0
-

#1 kk

a nemá to bejt takhle?

      private void button1_Click(object sender, EventArgs e)
        {
            label2.Text = odpovedi[0].ToString();
            
            label3.Text = otazky[0].ToString();
        }

      private void button2_Click(object sender, EventArgs e)
        {
            label2.Text = odpovedi[1].ToString();
            
            label3.Text = otazky[1].ToString();
        }

a tak dále ...

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:f5e7:8033:f107:aeb7...–
kk
~ Anonymní uživatel
3 příspěvky
13. 6. 2020   #4
-
0
-

Bohužel nic z toho nefunguje ani u toho druhého, když přidám více buttenu.

Nahlásit jako SPAM
IP: 109.238.33.–
gna
~ Anonymní uživatel
1882 příspěvků
13. 6. 2020   #5
-
0
-

#4 kk
Co nefunguje, jak se to projevuje, co přesně jsi udělala?

Nahlásit jako SPAM
IP: 213.211.51.–
JerryM0
Věrný člen
13. 6. 2020   #6
-
0
-

#4 kk
https://uloz.to/file/OCVAnI8G1oeO/uloha12062020-rar

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:bd78:39cd:61d6:1da...–
kk
~ Anonymní uživatel
3 příspěvky
13. 6. 2020   #7
-
0
-

#5 gna
Když použiji to první, tak mi okamžitě vyskočí všechny ty odpovědi, ale já bych potřebovala aby se mi zobrazili ve chvíli, kdy kliknu na button. U toho druhého se mi sice ukáže první otázka, ale zbylé ne. A bohužel mi nefunguje vůbec label1.

Nahlásit jako SPAM
IP: 109.238.33.–
gna
~ Anonymní uživatel
1882 příspěvků
13. 6. 2020   #8
-
0
-

#7 kk
A to jsi ten můj Join dala jinam, než do té metody obsluhující kliknutí na tlačítko? Protože jinak se nemůže provést jindy, než při kliknutí na tlačítko. A nedává smysl vůbec něco takového dělat.

To, co napsal Jerry, používá operátor [], který už požíváš na nastavení hodnot v těch polích, tak je snad jasné, že i teď to z toho pole vezme jednu hodnotu. To v programu s otázkami a odpověďmi dává mnohem větší smysl, ale ješte by to asi chtělo nějakou logiku určující, která otázka/odpověď je aktivní.

Zdá se, že KeyPreview na kurzorové šipky opravdu nezabírá, ale takové zadávání roku nemá smysl řešit. Dej tam normálně vstupní pole, do kterého se bude zadávat číslo.

Nahlásit jako SPAM
IP: 213.211.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý