PDA

Visualizza la versione completa : MsgBox con due Command


gyonny
10-11-2002, 01:03
Helo ragazzi mi serve una mano
Quando sia vvia la stampa mi deve comparire un MsgBox con due pulsanti di comando, il primo OK continua la procedura ed il secondo NO interrompe.
Posso farlo con il codice MsgBox oppure mi devo creare tanti piccoli form?
Dato che i comandi interessati sono circa 18, sarebbe una bella rottura avere 18 finestrelle in giro.

salve a tutti
gyonny

Mabi
10-11-2002, 12:43
Ti basta guardare i parametri della finestra di dialogo, fra questi trovi anche il tipo di icona e di Buttons.
Dopo gestisci la risposta restituita nella variabile corrispondente.


Dim Messaggio As String

Messaggio = MsgBox("Continuare la stampa ?", vbCritical + vbYesNo, "Stampa")
If Messaggio = "6" Then
'SI
End If
If Messaggio = "7" Then
'NO
End If

sebamix
10-11-2002, 18:02
Originariamente inviato da Mabi
...


Dim Messaggio As String

Messaggio = MsgBox("Continuare la stampa ?", vbCritical + vbYesNo, "Stampa")
If Messaggio = "6" Then
'SI
End If
If Messaggio = "7" Then
'NO
End If


MsgBox ritorna un tipo preciso di dati (vbMsgBoxResult). Perchè usare una stringa?



Dim Messaggio As VbMsgBoxResult
Messaggio = MsgBox("Continuare la stampa?", vbCritical + vbYesNo, "Attenzione ...")
Select Case Messaggio
Case VbMsgBoxResult.vbYes
'... SI
Case VbMsgBoxResult.vbNo
'... NO
End Select


Poi nel caso che i pulsanti siano solo 2 si può fare così (che è più compatto).



If MsgBox("Continuare la stampa?", vbCritical + vbYesNo, "Attenzione ...") = vbYes Then
'... SI
Else
'... NO
End If


:ciauz:

xegallo
10-11-2002, 18:09
Originariamente inviato da sebamix


MsgBox ritorna un tipo preciso di dati (vbMsgBoxResult). Perchè usare una stringa?



Dim Messaggio As VbMsgBoxResult
Messaggio = MsgBox("Continuare la stampa?", vbCritical + vbYesNo, "Attenzione ...")
Select Case Messaggio
Case VbMsgBoxResult.vbYes
'... SI
Case VbMsgBoxResult.vbNo
'... NO
End Select


Poi nel caso che i pulsanti siano solo 2 si può fare così (che è più compatto).



If MsgBox("Continuare la stampa?", vbCritical + vbYesNo, "Attenzione ...") = vbYes Then
'... SI
Else
'... NO
End If


:ciauz:
CHE POI RITORNA DEI LONG è UNA FORZATURA "6"

sebamix
10-11-2002, 18:36
Originariamente inviato da xegallo

CHE POI RITORNA DEI LONG è UNA FORZATURA "6"

Più che altro è una conversione da numerico a stringa inutile.
Poi se si usano i nomi delle costanti il codice è decisamente più leggibile;

Loading