Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Form invisibile all' avvio
Forum - C# / VB.NET - Form invisibile all' avvio

Avatar
pinguino (Ex-Member)
Pro


Messaggi: 172
Iscritto: 26/12/2007

Segnala al moderatore
Postato alle 19:58
Giovedì, 29/05/2008
ciao.

nel codice di un button, per far uscire l' icona di notifica e far diventare invisibile il form ho inserito:

Codice sorgente - presumibilmente C# / VB.NET

  1. NotifyIcon1.Visible = True
  2.         Me.Visible = False



poi volevo fare in modo che cio succedesse anche all' avvio del programma allora in un form load ho inserito lo stesso codice riportato sopra...

ma il problema sorge qui, il form spunta cmq fuori sensa diventare invisibile... come risolvo? (è da 3 ore che cerco una soluzione)

:k:

PM Quote
Avatar
4x4lu5 (Ex-Member)
Rookie


Messaggi: 41
Iscritto: 16/08/2006

Segnala al moderatore
Postato alle 4:33
Venerdì, 30/05/2008
metti this.Opacity=0;
e poi qnd lo vuoi far ricomparire metti tornala uguale a 1

PM Quote
Avatar
pinguino (Ex-Member)
Pro


Messaggi: 172
Iscritto: 26/12/2007

Segnala al moderatore
Postato alle 22:44
Venerdì, 30/05/2008
Testo quotato

Postato originariamente da 4x4lu5:

metti this.Opacity=0;
e poi qnd lo vuoi far ricomparire metti tornala uguale a 1



ti pare facile asd

se metto opacity 0, il form si diventa invisibile ma non è "immateriale" quindi automaticamente l' utente non riesce a cliccare su cosa si trova sotto il form.

vabe tanto ho risolto con un timer :k:

PM Quote
Avatar
Nitro (Member)
Pro


Messaggi: 72
Iscritto: 17/10/2007

Segnala al moderatore
Postato alle 22:11
Sabato, 31/05/2008
Ciao, perchè invece di scrivere il codice
Codice sorgente - presumibilmente C# / VB.NET

  1. icona.Visible = True
  2. Me.Visible = False


nell'evento load del form, non imposti direttamente la proprietà nelle proprietà del form che ti fa vedere il visual basic stesso?
imposti la proprietà Visible del form su False e quella dell'icona (notify icon) su True, dovrebbe funzionare così.
Ciao ciao

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 9:08
Domenica, 01/06/2008
Testo quotato

Postato originariamente da Nitro:

Ciao, perchè invece di scrivere il codice
Codice sorgente - presumibilmente C# / VB.NET

  1. icona.Visible = True
  2. Me.Visible = False


nell'evento load del form, non imposti direttamente la proprietà nelle proprietà del form che ti fa vedere il visual basic stesso?
imposti la proprietà Visible del form su False e quella dell'icona (notify icon) su True, dovrebbe funzionare così.
Ciao ciao


Ha appena detto che non funziona.

PM Quote
Avatar
Mte90 (Member)
Guru


Messaggi: 1144
Iscritto: 25/03/2008

Segnala al moderatore
Postato alle 13:43
Domenica, 01/06/2008
Anche a me su un programma il form s lo meto visible=false appare lo stesso,avevo pensato anch'io all'opacity ma se non funziona bisognerà mettere le mani sul designer.vb

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 16:21
Lunedì, 02/06/2008
Testo quotato

Postato originariamente da Mte90:

Anche a me su un programma il form s lo meto visible=false appare lo stesso,avevo pensato anch'io all'opacity ma se non funziona bisognerà mettere le mani sul designer.vb


L'opacity funziona sempre. Non toccate il designer, anche perchè non c'è niente da toccare.

PM Quote
Avatar
superchecco (Normal User)
Pro


Messaggi: 141
Iscritto: 20/01/2007

Segnala al moderatore
Postato alle 16:42
Domenica, 08/06/2008
ciao!
prova a inserire il codice nell'evento Form1_Shown e non nel load! ciao ciao!

Ultima modifica effettuata da superchecco il 08/06/2008 alle 16:42
PM Quote
Avatar
punkettone90 (Member)
Expert


Messaggi: 279
Iscritto: 16/05/2007

Segnala al moderatore
Postato alle 19:09
Domenica, 08/06/2008
ciao!
il form rimane visibile anche se viene messo visibile=false perchè application.run() prevede che sia sempre aperto un form; se dal form principale fate partire un altro form e poi nascondete il form principale, funziona.

per risolvere questo problema sono andato a modificare il program.cs (nel mio caso) ossia dove c'è il punto di ingresso dell'applicazione, ho cancellato

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());

ho creato un file di codice vuoto e li ho scritto le operazioni del programma, poi dal program.cs ho istanziato la classe e eseguito i metodi del mio programma; secondo me è il modo migliore e più ortodosso nel senso che il form non viene nascosto ma non viene fatto partire direttamente

:k:

PM Quote