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

    [VC# Express 2008]Elenco eventi dei controlli

    Salve,

    da qualche anno sto usando VB.Net e adesso mi sto avvicinando alla programmazione con VC#.

    Ho cercato di riscrivere alcuni miei programmi VB.Net in VC#, ma ho notato questo:

    nella finestra di visualizzazione del codice, esattamente sopra la zona in cui si scrivono le istruzioni, vi sono 2 ComboBox, quello di sinistra raccoglie le classi, quello di destra gli eventi.

    in VB.Net questi due Combo contengono TUTTI gli eventi legati all'oggetto selezionato, mentre in VC# no.

    Come devo fare per selezionare un evento relativo ad un qualche controllo? Ad esempio MouseMove per un Button?
    La cosa è semplice nella finestra di progettazione ma in quella del codice?

    Grazie per ogni suggerimento.

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    Guarda che se nella combo di sinistra c'è il nome della classe di cui vuoi vedere l'implementazione di un evento o metodo a destra deve esserci per forza..

    Non capisco dove sia il tuo problema..

  3. #3
    Forse non sono stato molto chiaro.

    in una form nuova inserisci un button:

    VB.Net:

    nella combo di sx seleziono Button

    nella combo di dx appaiono tutti gli eventi legati alla classe button a partire da "AutoSizeChanged" ...fino a "VisibleChanged"

    VC#:
    nella combo di sx trovo solo l'elemento:
    WindowsFormApplication1.Form1

    nella combo di dx:
    button
    components
    Dispose(bool disposing)
    Form1
    Initialize Components

    Qual è il mio problema?

    Se sono nella finestra codice e devo cercare l'evento "MouseEnter" relativo al Button, devo andare obbligatoriamente nella finestra progettazione, selezionare proprietà-eventi e poi tornare alla finestra codice.

    Spero di essermi spiegato.


    Ciao e grazie per l'interessamento.

  4. #4
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    Perchè in vc# quelle 2 combo servono per le classi definite da te..

    Per sapere che eventi ci sono in un oggetto (come il button) usa l'intellisense
    cioè scrivi nel codice il nome del tuo oggetto (es: button1) scrivi "." e ti verranno fuori tutti i metodi, proprietà ed eventi di quell'oggetto..

    Oppure utilizza la finestra visualizzazione classi..

  5. #5
    Grazie per la risposta, ma vedo che non hai capito cosa intendo, o forse sono io che mi spiego male.
    Originariamente inviato da Stoicenko
    Perchè in vc# quelle 2 combo servono per le classi definite da te..

    Per sapere che eventi ci sono in un oggetto (come il button) usa l'intellisense
    cioè scrivi nel codice il nome del tuo oggetto (es: button1) scrivi "." e ti verranno fuori tutti i metodi, proprietà ed eventi di quell'oggetto..

    Oppure utilizza la finestra visualizzazione classi..
    Questo già lo sapevo; ma qui l'intellisense non ha alcun utilizzo.

    Immagina che devo scrivere del codice per l'evento "DragOver" per il Button:

    Devo per forza ricordarmi a memoria tutta la sintassi dell' evento?

    "private void button1_DragOver(object sender, DragEventArgs e)"

    o esiste un modo, nella finestra codice per richiamare tale definizione?

    In VB.Net è facile come bere un bicchiere d'acqua.

    Ciao.

  6. #6
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    se tu digiti button1.DragOver+= e poi schiacci 2 volte il tab ti crea in automatico l'evgento e l'eventhandler..

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    L'associazione dei metodi di gestione degli eventi agli eventi stessi è diversa tra i linguaggi C# e VB.NET, ed è diverso quindi anche il modo con cui si raggiungono i metodi dalla finestra del codice.

    Comunque sia, non è vero che occorre ricordarsi il prototipo dell'evento (numero e tipo dei parametri), poiché - se si mantiene la nomenclatura standard attribuita automaticamente da Visual Studio - è sufficiente individuare quel metodo (in C#) che ha il nome del controllo di riferimento e il nome dell'evento all'interno dell'elenco dei metodi elencati.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  8. #8
    Grazie a entrambi per le risposte.

    Ingenuamente credevo che il modo di utilizzare l'editor per la stesura del codice fosse equivalente per entrambi i compilatori, essendo, essi stessi, parte integrante di un unico programma: Visual Studio.


    Ciao e grazie di nuovo.

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Originariamente inviato da Anduril
    Ingenuamente credevo che il modo di utilizzare l'editor per la stesura del codice fosse equivalente per entrambi i compilatori, essendo, essi stessi, parte integrante di un unico programma: Visual Studio.
    No, ci sono delle differenze anche in altri ambiti, ad esempio nella finestra delle Proprietà del progetto e in altri contesti.

    Fanno parte di un unico programma, ma chi utilizza quei linguaggi molto spesso proviene da impostazioni e abitudini differenti (ad esempio, VB6), e quindi l'ambiente stesso si predispone ad offrire gli strumenti nel modo più congeniale in base a questo fattore (tant'è che, appena installato, chiede quale "layout" si vuole utilizzare).

    Ciao!
    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.