Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    19

    [C#] input da textbox in Windows Forms

    Salve a tutti!
    Premetto che ho una discreta conoscenza della sintassi di base del C# e da poco sto cercando di avvicinarmi alle applicazioni windows.
    Volevo realizzare un semplice esercizio di prova, con due textbox, in modo da gestire l'input di un int dall'utente e successivamente stampare il risultato su ( boh, una label?).. solamente dopo aver premuto un bottone.

    Gestire gli eventi dei bottoni sono già riuscito a farlo, così come il cambio di testo della label... l'unica cosa che non capisco è come gestire l'input dell'utente.. ( quello che su console si fa comodamente col Console.Readline )

    Ordunque, non pretendo certamente che mi scriviate il codice, mi basterebbe giusto una breve impostazione del problema... magari un suggerimento su che metodi utilizzare, che proprietà (sempre riverito all'input dell'utente da textbox obv)

    grazie a tutti anticipatamente

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    L'utente scrive nel textbox e il dato è disponibile.

    Per fare qualcosa dovrai utilizzare un Button nel cui evento click gestirai come meglio credi il contenuto del textbox.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    19
    Originariamente inviato da oregon
    L'utente scrive nel textbox e il dato è disponibile.

    Per fare qualcosa dovrai utilizzare un Button nel cui evento click gestirai come meglio credi il contenuto del textbox.
    Ma ad esempio, se tipo volessi fare la somma dei due valori immessi nelle due TextBox, potrei ad esempio porre uguale ad a il numero immesso dall'utente nella TextBox1 ed uguale a b quello della TextBox2... poi farmi un metodo che somma a + b, scatenarlo all'evento del click del bottone e stamparlo??

    purtroppo quello che non riesco a capire è come gestire queste due variabili... cosa banale da console..

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Originariamente inviato da Sensei89
    purtroppo quello che non riesco a capire è come gestire queste due variabili... cosa banale da console..
    Non cambia nulla rispetto alla Console: semplicemente, il valore delle variabili le prendi dalla proprietà Text del controllo TextBox e le converti in intero usando Int32.Parse.

    In rete trovi migliaia e migliaia di esempi su questo tenore.

    In ogni caso, prova a scrivere codice, o spiega di preciso cosa non ti è chiaro facendo riferimento a quello che scrivi e agli errori e/o comportamenti anomali che riscontri nel programma.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    19
    codice:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            private delegate void delegato();
            private delegato del1;
    
            public Form1()
            {
                InitializeComponent();
                del1 = somma;
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
    
            }
    
            private void somma()
            {
                int C = Int32.Parse(textBox1.Text + textBox2.Text);
    
                label3.Text = C.ToString();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                del1();
            }
            
        }
    }
    Ragazzi, sono arrivato a questo punto, più o meno ho capito come fare... il problema è che non mi stampa la somma dei due numeri, ma la somma delle stringhe..
    Ad esempio se nelle text box inserisco il numero 8 ed il numero 2, non mi stampa 10, ma 82... come fare per risolvere questo problema??

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    91
    codice:
    int C = Int32.Parse(textBox1.Text + textBox2.Text);
    deve essere:

    codice:
    int C = Int32.Parse(textBox1.Text) +  Int32.Parse(textBox2.Text);
    altrimenti, come hai fatto te, concatena le stringhe e converte il valore in intero

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    19
    Risolto, grazie!... un'ultima cosa, c'è un modo per evitare che la mia form venga messa a tutto schermo? (sia togliendo l'icona in alto a destra, sia cliccando due volte sulla barra in alto)

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    91
    c'è la propietà MaximizeBox

    la setti a false ed inibisce il maximize del form. Puoi comunque ridimensionarlo dall'angolo, mi semrba ci sia la propietà maximunsize per impostargli la dimensione massima raggiungibile

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    19
    Ragazzi, avrei un altro problemino... stavo provando ad applicare tutto ciò in un'applicazione più complessa:

    codice:
    private void CalcoloDanniMin()
            {
                double efficacia = 1;
                double STAB = 1;
                int ch = 1;
                const double N = 0.85;
    
                if (Orb.Checked == true)
                    PotMossa.Text = PotMossa.Text + Int32.Parse(PotMossa.Text) * 30 / 100;
    
                if (stab.Checked == true)
                    STAB = 1.5;
    
    
    
                // Inserire Modificatori per efficacia, STAB e ch
    
                int D1 = 21 * Int32.Parse(AtkSpA.Text) * Int32.Parse(PotMossa.Text);
                int D2 = 25 * Int32.Parse(DefSDef.Text);
                int D3 = D1 / D2 + 2;
    
                int D4 = (int)(D3 * efficacia * STAB * ch * N);
    
                label1.Text = D4.ToString();
            }
    Questo è il metodo che stavo implementando (ovvero il pezzo di codice che mi da problemi).
    Ho utilizzato l' Int32.Parse per leggere in ingresso il dato numerico (come nell'esempio di prima)... ma tutte le volte che vado a provare la mia applicazione mi crasha e mi dice che il formato della stringa di input non è corretto .. come potrei risolvere??

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Originariamente inviato da Sensei89
    Ragazzi, avrei un altro problemino...
    Per ogni nuovo problema, si apre una discussione separata.

    Leggi il Regolamento di questa sezione.

    Inoltre, le domande che poni riguardano essenzialmente gli elementi e le funzionalità di base del linguaggio, quindi suggerisco di documentarsi sulle cose ovvie prima di passare all'implementazione di logiche più complesse.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

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.