Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
CheckBox

Registrovaný: 01.05.14
Prihlásený: 07.11.19
Príspevky: 152
Témy: 52
Bydlisko: Dubovce
Príspevok NapísalOffline : 28.02.2017 16:52

Zdravím, Mám problém s CheckBoxom vo WinForms. Problém je v tom že po zapnutí programu má CheckBox nastavenú hodnotu na true ale podmienka ktorú mám nastavenú na true nefunguje. Ako som nad tým rozmýšľal tak som prišiel na to že bude problém v metóde(?) pretože metóda sa volá private void checkDatum_CheckedChanged(object sender, EventArgs e) podla angličtiny som pochopil že sa všetky príkazy vykonajú až sa klikne na CheckBox. Preto by som sa chcel opýtať ako to zmeniť.
Kód:
Kód:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace pocitadlo
{
    public partial class Form1 : Form
    
{
        int day;
        int month;
        int year;
        int aday;
        int amonth;
        int ayear;
        int v;
        int age;
        byte[] months = new byte[13] { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

        public Form1()
        {
            InitializeComponent();
        }

        private void checkDatum_CheckedChanged(object sender, EventArgs e)
        {
            if (checkDatum.Checked == false)
            {
                txtADay.Visible = true;
                txtAMonth.Visible = true;
                txtAYear.Visible = true;
                labelDatum.Visible = true;
                aday = int.Parse(txtADay.Text);
                amonth = int.Parse(txtAMonth.Text);
                ayear = int.Parse(txtAYear.Text);
                btnSend.Location = new Point(265, 104);
            }
            if (checkDatum.Checked == true)
            {
                txtADay.Visible = false;
                txtAMonth.Visible = false;
                txtAYear.Visible = false;
                labelDatum.Visible = false;
                aday = DateTime.Now.Day;
                amonth = DateTime.Now.Month;
                ayear = DateTime.Now.Year;
                btnSend.Location = new Point(162, 104);
            }
        }

        private void btnSend_Click(object sender, EventArgs e)
        {
            int s1 = 0;
            int s2 = 0;
            v = 0;
            age = 0;
            day = int.Parse(txtDay.Text);
            month = int.Parse(txtMonth.Text);
            year = int.Parse(txtYear.Text);
            if (year % 4 == 0 && ayear % 4 == 0)
                months[2] = 29;
            else months[2] = 28;
            for (int i = 1; i <= month; i++)
                s1 += months[i];
            for (int i = 1; i <= amonth; i++)
                s2 += months[i];
            v = (s1 + day) - (s2 + aday);
            if (day == aday && month == amonth)
            {
                age = ayear - year;
                if (year % 4 == 0 && ayear % 4 == 0)
                    v = v + 366;
                else v = v + 365;
            }
            else age = (ayear - year) - 1;
            if (< 0)
            {
                age++;
                if (year % 4 == 0 && ayear % 4 == 0)
                    v = v + 366;
                else v = v + 365;
            }
            Output1.Text = "Máš "+ age +" rokov";
            Output2.Text = "Za "+ v + " dní budeš mať narodeniny";
        }
    }
}


Offline

Užívateľ
Užívateľ
CheckBox

Registrovaný: 27.06.09
Prihlásený: 04.03.23
Príspevky: 332
Témy: 3
Bydlisko: Košice - ok...
Príspevok NapísalOffline : 28.02.2017 16:55

a kedy to chceš vykonať?







_________________
GitHub: mfocko | mfocko.xyz
OSs: archLinux + fedora (+ Windows 10 Pro Insider Preview, only if needed)
Server: archLinux [nginx + Docker (GitLab) + SSH/SFTP + local mirror (FTP/rsync - archLinux, Fedora) + samba + transmission]
Offline

Užívateľ
Užívateľ
CheckBox

Registrovaný: 01.05.14
Prihlásený: 07.11.19
Príspevky: 152
Témy: 52
Bydlisko: Dubovce
Príspevok Napísal autor témyOffline : 28.02.2017 16:59

No chcel by som aby to bolo nastavené defaultne na true


Offline

Skúsený užívateľ
Skúsený užívateľ
CheckBox

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 28.02.2017 17:02

Funkcia checkDatum_CheckedChanged sa vykoná, ak je priradená k eventu, po zmene stavu checkboxu. Ak chceš vykonať nejakú logiku po spustení programu, musíš zadať kód inde, napríklad do konštruktora.







_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
CheckBox

Registrovaný: 27.06.09
Prihlásený: 04.03.23
Príspevky: 332
Témy: 3
Bydlisko: Košice - ok...
Príspevok NapísalOffline : 28.02.2017 17:05

alebo Form.Load







_________________
GitHub: mfocko | mfocko.xyz
OSs: archLinux + fedora (+ Windows 10 Pro Insider Preview, only if needed)
Server: archLinux [nginx + Docker (GitLab) + SSH/SFTP + local mirror (FTP/rsync - archLinux, Fedora) + samba + transmission]
Offline

Užívateľ
Užívateľ
CheckBox

Registrovaný: 01.05.14
Prihlásený: 07.11.19
Príspevky: 152
Témy: 52
Bydlisko: Dubovce
Príspevok Napísal autor témyOffline : 28.02.2017 17:08

Teraz ste mňa zmiatli. Takže já musím vložiť celú metódu vyššie do konštruktora alebo do Form.Load alebo iba tie podmienky? Alebo som to celé zle pochopil ?

// Spojený príspevok Uto 28.02.17 20:10

Vyriešil som to svojky (amatérsky)
Spoiler: zobraziť
Kód:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace pocitadlo
{
    public partial class Form1 : Form
    
{
        int day; int month; int year; int aday; int amonth; int ayear;
        byte[] months = new byte[13] { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

        public Form1()
        {
            InitializeComponent();
        }

        private void checkDatum_CheckedChanged(object sender, EventArgs e)
        {
            if (checkDatum.Checked == false)
            {
                txtADay.Visible = true;
                txtAMonth.Visible = true;
                txtAYear.Visible = true;
                labelDatum.Visible = true;
                btnSend.Location = new Point(265, 104);
            }
            else
            
{
                txtADay.Visible = false;
                txtAMonth.Visible = false;
                txtAYear.Visible = false;
                labelDatum.Visible = false;
                btnSend.Location = new Point(162, 104);
            }
        }

        private void btnSend_Click(object sender, EventArgs e)
        {
            int s1 = 0; int s2 = 0; int v = 0; int age = 0;
            if (checkDatum.Checked == true)
            {
                aday = DateTime.Now.Day;
                amonth = DateTime.Now.Month;
                ayear = DateTime.Now.Year;
            }
            else
            
{
                aday = int.Parse(txtADay.Text);
                amonth = int.Parse(txtAMonth.Text);
                ayear = int.Parse(txtAYear.Text);
            }
            day = int.Parse(txtDay.Text);
            month = int.Parse(txtMonth.Text);
            year = int.Parse(txtYear.Text);
            if (year % 4 == 0 && ayear % 4 == 0)
                months[2] = 29;
            else months[2] = 28;
            for (int i = 1; i <= month; i++)
                s1 += months[i];
            for (int i = 1; i <= amonth; i++)
                s2 += months[i];
            v = (s1 + day) - (s2 + aday);
            if (day == aday && month == amonth)
            {
                age = ayear - year;
                if (year % 4 == 0 && ayear % 4 == 0)
                    v = v + 366;
                else v = v + 365;
            }
            else age = (ayear - year) - 1;
            if (< 0)
            {
                age++;
                if (year % 4 == 0 && ayear % 4 == 0)
                    v = v + 366;
                else v = v + 365;
            }
            Output1.Text = "Máš "+ age +" rokov";
            Output2.Text = "Za "+ v + " dní budeš mať narodeniny";
        }
    }
}
 


Odpovedať na tému [ Príspevkov: 6 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. CheckBox

v PHP, ASP

5

533

19.02.2010 9:01

arno Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. checkbox

v PHP, ASP

2

524

05.07.2009 13:09

Snacker Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. checkbox

v PHP, ASP

3

564

22.04.2009 14:53

drozdo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Checkbox

v Ostatné programy

2

514

03.07.2015 11:57

majetan212 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. checkbox

v JavaScript, VBScript, Ajax

6

510

11.10.2011 22:03

chrono Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. CHECKBOX CHECKED

v PHP, ASP

1

500

21.07.2009 12:15

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. input - checkbox

v PHP, ASP

1

392

17.09.2011 21:46

chrono Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. checkbox checked

v PHP, ASP

9

399

07.10.2013 8:42

Elrohir Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. upload suboru checkbox

v PHP, ASP

13

642

09.05.2009 16:43

kaidžas Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. $_GET vs. CheckBox

v PHP, ASP

3

452

31.01.2008 14:36

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. CHECKBOX, checked php

v PHP, ASP

16

450

07.11.2014 13:02

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP podmienka checkbox

v PHP, ASP

8

1288

19.11.2010 1:28

venom2 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Checkbox array s mysql

v PHP, ASP

10

619

19.05.2011 11:43

jtomcik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP DELETE with checkbox

v PHP, ASP

2

387

24.04.2010 18:57

jtomcik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. form, checkbox alebo radio, pri zaskrtnuti submit

v JavaScript, VBScript, Ajax

1

407

08.10.2010 14:51

Ďuri Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra