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

    c# intercettare eventi (click)

    ciao raga...
    vado avanti con lo studio ,adesso tento di intercettare gli eventi di tipo click

    in vbnet mi basta usare sender.name ,e risolvo ma in c#?
    ciao a tutti .


    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 WindowsFormsApplication4
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                        
                   
                InitializeComponent();
             lancia_bottoni();
               
    
            }
    
           
         public   void  lancia_bottoni(){ 
             int assex = 20;
            
              
           Button[]  xbot = new System.Windows .Forms .Button[10] ; 
    
            
                
                for(int giro=0;giro<10;giro++){
    
             xbot[giro] = new Button();
    
             xbot[giro].Click += new System.EventHandler(this.xbot_clik);
    
             xbot[giro].Location = new System.Drawing.Point (assex, 20);
             xbot[giro].Name = giro.ToString() ;
    
             xbot[giro].Size = new System.Drawing .Size(20, 20);
             xbot[giro].Visible = true;
    
              assex = assex + 30;
    
              this.Controls.Add(xbot[giro]);
    
             
            
            }         
               
    
        }
    
    
    
    
    
            private void xbot_clik(object sender,EventArgs e )
            {
                this.Text = sender.ToString () ; <--- ecco qui vorrei come output il nome del tasto premuto 
                
                
           
    
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
    
            }
        }
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Nel click (a proposito, hai scritto clik ...) puoi inserire all'inizio

    Button butt = (Button)sender;

    e poi usare butt
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    non ho capito ? dove inserire il pezzo di codice che hai scritto ,
    ciao poi la mia e una array di bottoni .

    vavevo pensato di fare cosi ma non va

    this.text= xbot[sender].text;

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da metalsalvax
    non ho capito ? dove inserire il pezzo di codice che hai scritto ,
    Sì, se ci provi, capisci meglio ...

    ciao poi la mia e una array di bottoni .
    Questo non c'entra ... quando premi un pulsante è uno solo per volta ...

    vavevo pensato di fare cosi ma non va

    this.text= xbot[sender].text;
    Magari se ti attieni alla risposte che hai ... altrimenti a che serve un forum?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    guarda che io ho provato ,e mi attengo alle risposte
    inserisco il pezzo di codice ,ma non riesco ad identificare il xbot.name che a me serve per
    andare avanti
    Button butt = (Button)sender; <--- questo non mi da un errore ma ... come servirmene??

    cioe

    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 WindowsFormsApplication4
    {
        public partial class Form1 : Form
        {
           Button[]  xbot = new System.Windows .Forms .Button[10] ;   
            
            public Form1()
            {
                        
                   
                InitializeComponent();
             lancia_bottoni();
               
    
            }
    
           
         public   void  lancia_bottoni(){ 
             int assex = 20;      
                  
                        
                for(int giro=0;giro<10;giro++){
    
             xbot[giro] = new Button();
    
             xbot[giro].Click += new System.EventHandler(this.xbot_click);
             
    
             xbot[giro].Location = new System.Drawing.Point (assex, 20);
             xbot[giro].Text  = giro.ToString() ;
             xbot[giro].Name  = giro.ToString();
    
             xbot[giro].Size = new System.Drawing .Size(20, 20);
             xbot[giro].Visible = true;
    
              assex = assex + 30;
    
              this.Controls.Add(xbot[giro]);
    
             
            
            }         
               
    
        }
    
    
    
    
    
           void xbot_click( System.Object sender,EventArgs e )
            {
                Button butt = (Button)sender;<---- qui penso sia gusto 
    
                   
    
    
                
    
                
           
    
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
    
            }
        }
    }

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da metalsalvax
    inserisco il pezzo di codice ,ma non riesco ad identificare il xbot.name che a me serve per
    andare avanti
    Button butt = (Button)sender; <--- questo non mi da un errore ma ... come servirmene??
    Scusa ... se ti ho suggerito quel codice e butt è il bottone su cui si è fatto click, adesso come farai ad ottenere il Name ?

    Hai provato

    butt.Name


    ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    si e vero ,avevi ragione mi ero intestardito con sender ,

    anche se adesso grazie a te funziona mi chiedo come mai .


    Button bott = (Button)sender; <-- questo fa tramite ?

    this.Text = bott.Name;

    grazie di avermi agliutato ciao

  8. #8
    Utente di HTML.it L'avatar di ShaleN
    Registrato dal
    Aug 2010
    Messaggi
    517
    La riga tanto misteriosa si occupa di convertite sender (che è di tipo oggetto) in Button e di assegnare il risultato della conversione alla variabile butt di tipo Button

    Le vie del Signore sono infinite. È la segnaletica che lascia a desiderare.
    La luce viaggia più veloce del suono. Per questo alcune persone sembrano brillanti finchè non parlano.
    Occhio per occhio uguale... occhio al quadrato

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.