Assegna alla proprietà DialogResult dei pulsanti Ok e Annulla rispettivamente System.Windows.Forms.DialogResult.OK e System.Windows.Forms.DialogResult.Cancel; quindi quando hai bisogno di mostrare la finestra tipo inputbox usa questo codice:
Per semplificare le cose puoi aggiungere al tuo form un metodo shared di questo genere:codice:Dim ibx as New MyInputBox 'Si presuppone che si chiami così if ibx.ShowDialog=System.Windows.Forms.DialogResult.OK then 'Si presuppone che txtInput sia il controllo TextBox in cui l'utente inserisce il testo e che abbia ambito di visibilità public MessageBox.Show("L'utente ha inserito la stringa '" + ibx.txtInput + "' e ha premuto OK.") else MessageBox.Show("L'utente ha premuto Annulla.") end if
La funzione si userebbe così:codice:Public Shared Function InputBox(Title As String, DefaultText As String _ 'e simili ) As String Dim ibx as new MyInputBox 'Si presuppone che si chiami così 'Valorizza le varie proprietà ibx.Caption=Title 'Si presuppone che txtInput sia il controllo TextBox in cui l'utente inserisce il testo e che abbia ambito di visibilità public ibx.UserText=DefaultText '...eccetera if ibx.ShowDialog=System.Windows.Forms.DialogResult.OK then return ibx.UserText else return Nothing 'Oppure si può restituire una stringa nulla, come fa la funzione inputbox. end if End Sub
codice:'In un altra parte del codice Dim tstr as string=MyInputBox.InputBox("MyApp", "Ciao") if tstr=nothing then MessageBox.Show("L'utente ha premuto Annulla.") else MessageBox.Show("L'utente ha digitato '"+tstr+"' e ha premuto OK.") End if

Rispondi quotando