Super Tyhmä Kyssäri

taavetti 1999999

Moi,
Olen nyt aloittelemassa tuota C# ohjelmointia, enkä pääse yli niinkin yksinkertaisesta ongelmasta kun : Minun pitäisi tulostaa luku BUTTON- olioon. Eli kun painetaan nappia niin luvun napissa (.TEXT) pitäisi kasvaa portaittain 1 :llä.

Olen ohjelmoinut J :lla pitkään, mutta nuo opit eivät auta pätkääkään...

Miten siis tuon voisin tehdä...

3

358

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Koodin Vääntäjä

      Tee Windows-Form, lisää sille button (tässä button1) ja kaksoiklikkaa buttonia jotta saat sille oletusviestin (Click) käsuittelijän. [nämä kai tiesitkin, mutta varmuuden vuoksi...]

      Tässä esimerkki buttonin käsittelijäksi. Yritetään ensin lukea Text-propertyn nykyinen arvo integer muuttujaan, jos se ei ole numeerinen niin lennetään Exceptioniin, asetetaan siellä alkuarvoksi nolla.

      Sitten vaan kasvatetaan lukua ja viedään se tekstimuotoisena buttonin Text-propertyyn.

      --- snip ----
      private void button1_Click(object sender, System.EventArgs e)
      {
      int iLuku = -1;
      try
      {
      iLuku = Int32.Parse( this.button1.Text );
      }
      catch (Exception)
      {
      iLuku = 0;
      }
      this.button1.Text = ( iLuku).ToString();
      }
      --- snip ----

      • taavetti 19999999

        Kiitos,

        Entäs jos, minulla on 2000 (esim.) nappia ja nämä napit ovat taulukossa (kaksiulotteinen).
        Miten olisi helpoin tehdä vastaava ohjelma. Tietenkään en halua kirjoittaa koodia jokaiseen nappiin erikseen vaan haluaisin käyttää jotain kehittyneempää ratkaisua...

        Miten ottaisin napin painalluksen kiinni ja saisin tiedon napin 'koordinaateista'/indekseistä tietooni. Ja lisäksi jokainen napin painallus kasvattaa jokaisen napin omaa laskuria (.TEXT)?

        Minulla on pieni projekti meneillään ja tuohon se tyssää jos en keksi ratkaisua piakkoin :-)


      • Koodin Vääntäjä
        taavetti 19999999 kirjoitti:

        Kiitos,

        Entäs jos, minulla on 2000 (esim.) nappia ja nämä napit ovat taulukossa (kaksiulotteinen).
        Miten olisi helpoin tehdä vastaava ohjelma. Tietenkään en halua kirjoittaa koodia jokaiseen nappiin erikseen vaan haluaisin käyttää jotain kehittyneempää ratkaisua...

        Miten ottaisin napin painalluksen kiinni ja saisin tiedon napin 'koordinaateista'/indekseistä tietooni. Ja lisäksi jokainen napin painallus kasvattaa jokaisen napin omaa laskuria (.TEXT)?

        Minulla on pieni projekti meneillään ja tuohon se tyssää jos en keksi ratkaisua piakkoin :-)

        Liitä kaikkiin buttoneihin sama Click-viestin käsittelijä (joko ohjelmallisesti katsomalla mallia Windows Form Designer generated koodista) tai tekemällä yhden käsittelijän ja liittämällä sen kaikkiin muihin.

        Click-eventissä saat selville napin jota painettiin, sen kertoo ensimmäinen parametri eli object sender.

        ...
        Button btn = (Button)sender;
        if ( btn != null )
        ...
        btn.Text = ( iLuku).ToString();
        ...

        Jotkut ohjelmoivatkin .NET:issä aina noin, eli selvittävät aina lähettävän objektin senderistä. Minä käytän yleensä hyväkseni sitä tietoa että tiedän kuka sender on koska olen itse liittänyt käsittelijän juuri siihen (ei tarvita turhia castauksia). Silloin kun sama funktio käsittelee usemman objektin viestit tuota tapaa on pakko käyttää.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Virkamiehille tarvitaan tuntuvat palkankorotukset

      Naistenpäivänä on syytä muistuttaa, että virkamiehen euro on vain 80 senttiä. Palkat tulee saattaa samalle tasolle yksi
      Maailman menoa
      40
      3791
    2. Riikka Purran kaudella nousi bensan hinta yli 2 euron

      Muistatteko kuinka edellisen vasemmistohallituksen aikana, ns. Marinin aikakaudella, bensiiniä sai 1,3 euron litrahinnal
      Maailman menoa
      37
      3387
    3. Jäikö meidän välit

      Mielestäsi Kesken?
      Ikävä
      69
      2998
    4. Olisipa saanut sinuun

      Tutustua paremmin. Harmi että aloin lopulta jännittämään kun näytit tunteesi niin voimakkaasti ja lähestyit niin voimaak
      Ikävä
      91
      2850
    5. Miks tän meidän

      Rakkauden on pitänyt olla näin vaikeaa?
      Ikävä
      35
      1848
    6. Mitäs nyt sijoittajat?

      Pörssit laskevat maailmalla Iranin sodan takia ja muutenkin ovat olleet Trumpin vallan alla epävarmat. Ainoa, mikä on no
      Maailman menoa
      84
      1837
    7. muista olla

      VAROVAINEN! m
      Ikävä
      24
      1679
    8. Elän vastoin

      Kaikkia arvoja kun en pysy sinusta erossa.
      Ikävä
      28
      1607
    9. Onneksi on edes yksi kuva

      Susta mitä voin välillä ihastella ja kaipailla sua😔
      Ikävä
      31
      1602
    10. Olisitpa se hellä

      Ja herkkä minkä kuvan sain sinusta irl. Haluaisin että elämässäni olisi sellainen joka arvostaa minua juuri sellaisena k
      Ikävä
      23
      1584
    Aihe