Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    Evento Drag del Form

    Ciao,
    qualcuno sa come poter associare un'azione all'evento Drag del form?
    Ad esempio se dovessi visualizzare un messaggio non appena viene agganciato il form tramite la barra come posso fare?

    Grazie

  2. #2

    Moderazione

    Presumo che il linguaggio dovrebbe essere C++ perché lo hai detto nell'altro thread, ma non tutti gli utenti si prendono la briga di cercare altri indizi nelle tue precedenti discussioni.
    Lo scopo del forum non è solo quello di farsi aiutare da qualcuno (in questo caso sarebbe difficile visto che non specifichi il linguaggio) ma anche di aiuto ad altri utenti che dovessero trovare gli stessi tuoi problemi.
    Quando posti una richiesta sul forum dovresti provare a metterti nei panni di chi ti vuole aiutare e chiederti:
    • hai posto la domanda in modo sufficientemente chiaro?
    • hai fornito tutte le informazioni necessarie? (linguaggio, versione, tecnologia, ecc.)
    • hai descritto i tentativi per risolvere il problema da solo?

    Questa vuole solo essere una critica costruttiva, perché domande del genere difficilmente riceveranno una risposta esauriente (e alla fine chi ci perde sei tu), oltre che risultare inutili relativamente all'aspetto sociale del forum.
    Chi non cerca trova.

  3. #3
    Ehm scusa hai ragione!
    L'ho scritto un po' di fretta pensando di averlo già specificato nel vecchio post ma giustamente nessuno può saperlo.
    Tra l'altro forse sarebbe meglio cambiare il titolo della discussione con "Gestire l'evento Drag di un form".
    Comunque come specificato nell'altro post uso sia Visual Studio 2010 che 2008 e sto lavorando su un progetto di tipo windows form application in C++
    Ho provato ad usare gli eventi DragDrop, DragOver (generandoli dalla finestra eventi del form interessato e inserendo poi all'interno l'azione voluta) etc.... ma credo mi manchi qualche nozione fondamentale per farli funzionare....
    (In realtà sto provando a sospendere un thread del progetto quando il form viene trascinato poichè spostando la finestra al di "fuori dello schermo" viene lanciata la seguente eccezione : System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory has been corrupted.
    Probabilmente perchè successivamente viene eseguito una specie di refresh degli oggetti e il thread creato da me entra in conflitto col thread principale - se non riesco a risolvere così aprirò un'altra richiesta riguardo a questo problema)

    Grazie

  4. #4
    Sei sicuro che ti serva gestire gli eventi DragDrop e DragOver? Questi eventi si usano per gestire il trascinamento di oggetti all'interno del form o del controllo (per esempio aprire un file trascinandolo sopra il form). Tu cosa vuoi fare esattamente? Nel primo post sembrava tu volessi gestire un evento quando il form viene spostato, ho capito male?
    Chi non cerca trova.

  5. #5
    Avevi capito bene tu, sono io che ho sbagliato ad usarli!
    Come faccio a rilevare lo spostamento del form?

  6. #6
    Usa l'evento Move.
    Chi non cerca trova.

  7. #7
    Ok scusa mi son dimenticato un altro dettaglio....
    Se io volessi associare un'azione all'inizio del trascinamento del form e un'altra quando viene rilasciato ?

  8. #8
    Prova ad usare l'evento LocationChanged.

    VB.NET non espone gli eventi mousedown e mouseup sulla barra del titolo, probabilmente perché sono considerati di scarsa importanza nella programmazione classica. Per intercettarli occorre scomodare l'evento WndProc, in questo modo:
    codice:
    Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
            Console.WriteLine(m.ToString)
            MyBase.WndProc(m)
        End Sub
    La funzione WndProc è molto conosciuta a chi ha avuto il 'piacere' di programmare in Win32 nativo, rappresenta il punto di ingresso e smistamento di tutti i messaggi gestiti dalla finestra. Ogni messaggio è composto essenzialmente da quattro valori:
    • Msg: contiene l'identificativo del messaggio
    • Hwnd: contiene il handle della finestra alla quale è destinato il messaggio
    • LParam e WParam: parametri opzionali del messaggio

    L'elenco dei messaggi lo trovi qui, mentre l'elenco specifico per il mouse qui.
    Chi non cerca trova.

  9. #9
    Grazie della tempestività!
    Appena provo ti faccio sapere!
    (Tu per caso hai dimestichezza con il multithreading ? Dovrei chiederti un parere... devo aprire un altra discussione? )

  10. #10
    Originariamente inviato da lordjoseph
    (Tu per caso hai dimestichezza con il multithreading ? Dovrei chiederti un parere... devo aprire un altra discussione? )
    Si, apri un nuovo thread!
    Chi non cerca trova.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.