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

    [VB .net 2005] Convertire programma con in interfaccia in programma senza interfaccia

    Ho un'applicazione in VB .net 2005 che deve lavorare in background e quindi non ha bisogno di alcuna interfaccia grafica, né di interagire in alcun modo con l'utente.

    Per eliminare l'interfaccia grafica, nell'unico form ho impostato la trasparenza al massimo e la proprietà "show in taskbar" su falso, però è una soluzione abbastanza grezza: l'applicazione compare comunque nella scheda "applicazioni" del Task Manager e usando ALT + TAB, e soprattutto il form ridiventa visibile quando l'applicazione è "intoppata" in porzioni lunghe di codice e il titolo della finestra diventa "[nome dell'app] (non risponde)" per poi tornare trasparente quando torna a "rispondere". Ovviamente non voglio che queste cose succedano.

    Come faccio (a livello strettamente pratico) per eliminare definitivamente l'interfaccia grafica? Sono sicuro che sia possibile, dal momento che esistono decine di processi elencati nel Task Manager di Windows a cui non corrisponde alcuna finestra quando si usa ALT + TAB e della cui esistenza potremmo non accorgerci se non esistesse il Task Manager.

    Grazie in anticipo
    «Sogno gente giusta che rifiuti di esser preda di facili entusiasmi e ideologie alla moda...»
    (Lucio Battisti, 1980)

  2. #2

  3. #3
    L'ho cercata ma non c'è, a quanto pare i form non hanno la proprietà Visible
    «Sogno gente giusta che rifiuti di esser preda di facili entusiasmi e ideologie alla moda...»
    (Lucio Battisti, 1980)

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Il gabbianone
    L'ho cercata ma non c'è, a quanto pare i form non hanno la proprietà Visible
    Ma non è vero ... come l'hai cercata?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Questo è lo screenshot della mia finestra di Visual Studio 2005. Le proprietà sono indicate in ordine alfabetico e non mi sembra di vederla, mi sbaglio?
    «Sogno gente giusta che rifiuti di esser preda di facili entusiasmi e ideologie alla moda...»
    (Lucio Battisti, 1980)

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non tutte le proprietà sono in quell'elenco (non essendo una proprietà utilizzabile a design time) ... da qui a dire che non è una proprietà supportata dal form quando è una tra le più "antiche" ...

    Bastava che tu scrivessi quanto ti è stato suggerito nel codice ...

    codice:
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Visible = False
        End Sub
    A parte che con google basta una ricerca

    vb form visible

    ... un po' di intraprendenza ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Azz che stupido, non mi è venuto neanche in mente che la lista potesse essere incompleta

    Ora però ho il problema di dove inserire la riga di codice "Me.Visible = False"... se la inserisco all'azione "click" di un button la finestra si eclissa esattamente come vorrei.
    Però, dato che ho bisogno che ciò avvenga in automatico e dall'avvio dell'app, ho provato a spostarla nell'evento "New ()" generato dal form, al cui interno c'è per default anche il richiamo alla sub "InitializeComponent" (cioè dove l'IDE "nasconde" il codice relativo ai settaggi impostati per via grafica tramite la "finestra di progettazione") e per qualche strano motivo non funziona: il form appare normalmente, come se la riga di codice non ci fosse per nulla... Stessa cosa se uso l'evento "Load" del form

    [EDIT] ho verificato che la stessa cosa succede usando il codice "Me.Hide": tutto OK col button, non funziona con gli eventi New e Load.
    «Sogno gente giusta che rifiuti di esser preda di facili entusiasmi e ideologie alla moda...»
    (Lucio Battisti, 1980)

  8. #8
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Puoi fare così:

    codice:
    Private Sub MyForm_Activated(sender As Object, e As EventArgs) Handles Me.Activated
        Me.Location = New Point(-2000, -2000)
        Me.Visible = False
    End Sub

  9. #9
    Ho provato il codice, ma il Me.Visible = False non ha alcun effetto neanche così.

    Per quanto riguarda l'altro espediente (quello di spostare la finestra in un punto dello schermo dove rimanga nascosta e "invisibile") è più o meno la stessa cosa di quello che finora ho fatto io, cioè di impostare la trasparenza al massimo, e ha lo stesso problema di restare visibile con ALT+TAB o nella scheda Applicazioni del Task Manager, per cui non è quello che cerco...
    «Sogno gente giusta che rifiuti di esser preda di facili entusiasmi e ideologie alla moda...»
    (Lucio Battisti, 1980)

  10. #10

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.