Come da titolo, voglio che un form si apri solo la prima volta che si utilizzi il programma... In modo che alla prossima apertura del programma il form non si apri più... che code bisogna usare?
grazie in anticipo!![]()
Come da titolo, voglio che un form si apri solo la prima volta che si utilizzi il programma... In modo che alla prossima apertura del programma il form non si apri più... che code bisogna usare?
grazie in anticipo!![]()
MSN - Messanger è fallito
Beh potresti crearti un xml dove di memorizzi un flag che a seconda del suo valore invoca o meno l'apertura del form o, se tale apertura è legata da un particolare dato presente sul tuo db (ad esempio la presenza o meno di una licenza d'uso).
ook.. mi spieghi la procedura come creare un xml e far in modo chead esempio il form6 si apra solo la prima volta..?
grazie!
MSN - Messanger è fallito
Il file te lo crei a prescindere, metti che si chiama ciccio.xml (può anche essere un txt o quello che meglio credi).
Supponiamo che sia un XML del genere
<setting>
<apriform>Y</apriform>
</setting>
Nel codice che hai scritto immagino ad un certo punto avrai form.Show() oppure form.ShowDialog().
Questa riga di comando la condizioni al valore di <apriform>.
Al primo accesso in assoluto, quindi se apriform vale Y al termine lo cambi in N, quindi per le volte successive non aprirai più il tuo form.
Potresti anche utilizzare una voce di registro utilizzando un valore come flag..
Ecco un esempio per inserire informazioni nel registro di windows
http://forum.html.it/forum/showthread/t-1126922.html
ma in particolare non ho capito come fare per aggiungere il file xml e far in modo che il form si visualizzi solo la prima volta che si utilizza il programma... non c'è un modo più semplice ? qualche codice che dica che il form si apre solo alla prima visualizzazione del programma...
MSN - Messanger è fallito
Prova ad inserire un valore nel registro e a verificarlo ogni volta che apri il software.... tipo:
Questo è un metodo veloce e funzionale..codice:Imports Microsoft.Win32 Imports System.Runtime.InteropServices Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim RegKey As RegistryKey 'controlla se la voce del registro esiste e se non esiste entra dentro IF If My.Computer.Registry.CurrentUser.CreateSubKey("Software\nomedelmioprogramma").GetValue("valore", Nothing) Is Nothing Then Form2.Show() ' apri la finestra che desideri ' aggiungi il valore nel registro che la finestra è stata visualizzata ' se vuoi queste stringhe sotto li puoi inserire direttamente nel load del form2 RegKey = Registry.CurrentUser.OpenSubKey("SOFTWARE", True).CreateSubKey("nomedelmioprogramma") Registry.CurrentUser.OpenSubKey("Software", True).OpenSubKey("nomedelmioprogramma", True).SetValue("valore", "1") End If End Sub End Class
Se desideri cancellare la voce nel registro per fare dei test, ecco il codice da inserire in un pulsante per cancellare la voce appena creata e rifar aprire il form2
Spero ti sia stato d'aiutocodice:Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click RegKey = Registry.CurrentUser.OpenSubKey("SOFTWARE", True).CreateSubKey("menuwow") Registry.CurrentUser.OpenSubKey("Software", True).OpenSubKey("nomedelmioprogramma", True).DeleteValue("valore") Application.Restart() End Sub
Prima di tutto è bene tener presente che Microsoft sconsiglia l'uso del Registro di Windows per le proprie impostazioni.Originariamente inviato da Multivelox
ma in particolare non ho capito come fare per aggiungere il file xml e far in modo che il form si visualizzi solo la prima volta che si utilizza il programma... non c'è un modo più semplice ? qualche codice che dica che il form si apre solo alla prima visualizzazione del programma...
Il modo più semplice è usare i Settings:
1. Vai sulle proprietà del progetto, e seleziona la scheda Impostazioni .
2. qui inserisci la tua impostazione, ad esempio, nell'ordine:
- Nome: MostraFinestra
- Tipo: Boolean
- Ambito: Utente
- Valore: True
Poi salva.
3. Ora vai nel codice da cui avvi l'applicazione ed inserisci:
4. Una volta avviata l'applicazione, per non mostrare più la finestracodice:If My.Settings.MostraFinestra Then ' codice che carica il tuo form End If
codice:My.Settings.MostraFinestra = False My.Settings.Save()![]()
ok... io ho inserito nel primo form:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
My.Settings.MostraFinestra = False
My.Settings.Save()
If My.Settings.MostraFinestra Then
Form61.Show()
End If
End Sub
e nel form 61 non ho scritto una riga di codice... ma nn funge eppure sono andato nelle impostazioni delle proprietà come mi hai detto.. come mai?
MSN - Messanger è fallito
Perchè come l'hai messo tu, il codice è al contrario, quindi sbagliato.