Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [c#] piccola domanda

    dunque, ho realizzato un programmino (molto stupido) che fa da calcolatrice.
    ora, funziona egregiamente, ma vorrei aggiungergli un paio di cose.

    intanto il sorgente:
    codice:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    
    namespace Calculator
    {
        public partial class Form1 : Form
        {
    
            string operando;
            
            public Form1()
            {
                InitializeComponent();
                textBox2.Text = "0";
            }
    
            private void button8_Click(object sender, EventArgs e)
            {
                int operando1 = Convert.ToInt32(textBox1.Text);
                int operando2 = Convert.ToInt32(textBox2.Text);
                int risultato = operando1 + operando2;
                string risultato2 = Convert.ToString(risultato);
                textBox2.Text = risultato2;
                textBox1.Text = "0";
                operando = "0";
                
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                operando = operando + "1";
                textBox1.Text = operando;
            }
    
            private void button5_Click(object sender, EventArgs e)
            {
                operando = operando + "2";
                textBox1.Text = operando;
            }
    
            private void button3_Click(object sender, EventArgs e)
            {
                operando = operando + "3";
                textBox1.Text = operando;
            }
    
            private void button6_Click(object sender, EventArgs e)
            {
                operando = operando + "4";
                textBox1.Text = operando;
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                operando = operando + "5";
                textBox1.Text = operando;
            }
    
            private void button12_Click(object sender, EventArgs e)
            {
                operando = operando + "6";
                textBox1.Text = operando;
            }
    
            private void button11_Click(object sender, EventArgs e)
            {
                operando = operando + "7";
                textBox1.Text = operando;
            }
    
            private void button10_Click(object sender, EventArgs e)
            {
                operando = operando + "8";
                textBox1.Text = operando;
            }
    
            private void button9_Click(object sender, EventArgs e)
            {
                operando = operando + "9";
                textBox1.Text = operando;
            }
    
            private void button7_Click(object sender, EventArgs e)
            {
                int operando1 = Convert.ToInt32(textBox1.Text);
                int operando2 = Convert.ToInt32(textBox2.Text);
                int risultato = operando2 - operando1;
                string risultato2 = Convert.ToString(risultato);
                textBox2.Text = risultato2;
                textBox1.Text = "0";
                operando = "0";
    
            }
        }
    }
    ecco cosa vorrei aggiungere:
    1) il programma funziona correttamente quando si premono con il mouse i pulsanti dei numeri e delle operazioni, io vorrei che funzionasse anche premendo i numeri sulla tastiera..........
    2) dato che devo riazzerare addendo ogni qual volta viene visualizzata un'operazione, ho messo come istruzione
    operando = "0";
    solo che essendo una stringa a cui vengono concatenati i nuovi numeri che uno seleziona, se io premo 5 6 e 7 viene visualizzato
    0567
    che non sta molto bene.......
    come faccio a togliere lo 0 davanti?
    ho già provato con
    addendo="";
    ma il risultato è lo stesso.......

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Usa titoli più significativi per le tue discussioni.

    Inoltre, il linguaggio C# viene trattato nell'apposita sezione dedicata ai linguaggi per .NET Framework, dove ho spostato la discussione.

    Ciao e buona prosecuzione!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    private void InitializeComponent()
    {
    this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.frm 1_keypress);
    }

    private void frm1_keypress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
    MessageBox.Show(e.KeyChar.ToString());
    }

    Questo codice mostra una messagebox per ogni tasto che premi

    Happy Programming!

  4. #4
    Originariamente inviato da markitos.net
    private void InitializeComponent()
    {
    this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.frm 1_keypress);
    }

    private void frm1_keypress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
    MessageBox.Show(e.KeyChar.ToString());
    }

    Questo codice mostra una messagebox per ogni tasto che premi

    Happy Programming!
    premesso che del codice che hai postato ci ho capito poco
    a me non serve una messagebox quando un utente preme un tasto, ma mi serve dirgli che se un utente preme "9" è come se avesse fatto click su button9

  5. #5
    private void frm1_keypress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
    MessageBox.Show(e.KeyChar.ToString());
    }

    Con questa (e.KeyChar) intercetti i tasti. Poi ci fai quello che vuoi. Ti consiglio di crearti delle funzioni da utilizzare sia con l'evento click sia con quello KeyPress.

    Ciao!

  6. #6
    Originariamente inviato da markitos.net
    private void frm1_keypress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
    MessageBox.Show(e.KeyChar.ToString());
    }

    Con questa (e.KeyChar) intercetti i tasti. Poi ci fai quello che vuoi. Ti consiglio di crearti delle funzioni da utilizzare sia con l'evento click sia con quello KeyPress.

    Ciao!
    dunque, io ho inserito questo:

    codice:
    private void Form1_keypress(object sender, System.Windows.Forms.KeyPressEventArgs e)
            {
                string tmp;
                tmp = (e.KeyChar.ToString());
                textBox1.Text = tmp;
            }
    quindi, in teoria, intercetto i tasti e li assegno a tmp, e poi attribuisco alla textbox il valore di tmp.
    quando lo compilo non mi da nessun errore, ma in esecuzione quando premo un qualsiasi tasto non succede nulla

  7. #7
    Be' per questo dovresti debuggare...

  8. #8
    Originariamente inviato da markitos.net
    Be' per questo dovresti debuggare...

    e come si fa?

  9. #9
    Hai visual studio? Se si, basta che clicki col mouse nel margine a sinistra della riga da cui vuoi partire col debug. Un volta che il codice raggiunge quella riga si ferma e ti fa vedere passo passo quel che sta facendo.

    Cera in rete per una descrizione dettagliata

    Ciao!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.