Domanda Come creare una progressbar In modo Alternativo

A-Maurizio

Utente Iron
31 Dicembre 2022
10
3
0
7
Buon Giorno e Buon Anno a tutti mi chiamo A.Maurizio e sono un nuovo iscritto.
il mio problema e questo : Con l'uso di Visual Studio 2022 sto' tentando di riprendere un vecchio mio progetto che avevo creato molti anni fa con l'uso del VB6.0
Che ricreava fedelmente un Progressbar
Pero' non solo premetto che con l'uso del nuovo linguaggio di Visual Studio 2022 non conosco ancora nulla; Pertanto sono alle prime armi.
ma ho provato a creare questa routine :

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Me.Timer1.Interval = 100
'Me.Timer1.Enabled = True
If TextBox2.MinimumSize = 0 Then
'Me.TextBox2.Value -= 1
TextBox2.MaximumSize = 100
Else
Me.Timer1.Enabled = False
End If
End Sub

Però continua a darmi Errore sia in questa posizione ( TextBox2.MinimumSize = 0 )
Che anche in quest'altra : ( TextBox2.MaximumSize = 100 )

Solo a livello di (0) e (100)
Perché e come posso risolvere questo problema !

In pratica nel form ho inserito due ( textbox ) e un ( Button )
Pertanto io vorrei che la Textbox2 si estenda in tutta la sua lunghezza, fino a raggiungere l'estremità della Textbox1
Dando proprio la sensazione di usare una Progressbar tutto qui.
Potete aiutarmi in merito a questo mio problema Grazie
Saluti da A.Maurizio
 
Non capisco perché reinventare la ruota non usando la progressbar o una di quelle con skin di terze parti. Prendendolo come semplice esercizio potresti inserire nel metodo tick un codice simile per allungare a destra la textbox:

Codice:
Dim step = 5 ' numero pixel di crescita
textBox2.Size = New Size(textBox2.Width + step, textBox2.Height)
 
Ciao JunkCoder Per prima cosa vorrei farti gli Auguri di Buon Anno 2023
Poi verrei spigarti per un attimo il perché vorrei creare questo tipo di Progressbar
E non usare quello che l'applicazione di VS 2022 mi offre già di suo.
I motivi sono molteplici
Ma visto che desidero essere breve

Partirei con il dire che quello che chiederò' via via che il tempo passa , e semplicemente perché non potendo più riuscire a lavorare con il mio vecchio VB6.0 a 32 bit

Sono approdato quasi per caso a questa nuova Applicazione Visual Studio 2022
Che francamente la trovo molto complicata nel suo insieme anche per le cose più banali.

Però visto che e solo un mio pensiero personale; Ne prendo atto e cercherò prima possibile di capire il suo funzionamento.

Pertanto sto riprendendo tutti i miei vecchi programmi creati con il Vb6
Per rifarli nuovamente con questa nuova applicazione, so che non sara cosa facile
Ma ce la metterò tutta Tutto qui.

Detto ciò : Ho provato il tuo suggerimento e mi sono sorte due problemi che sono :
Errori_Di_Base_Form1_E_Form2_2.jpg
Passare_Form1_a_Form2.jpg
Errori_Di_Base_Form1_E_Form2.jpg

Errori_Di_Base_Form1_E_Form2_2.jpgPassare_Form1_a_Form2.jpgErrori_Di_Base_Form1_E_Form2.jpg

Queste sono le tre immagini che mi d'anno errore ma solo per il Form 2
Non solo perché alla fine della procedura del form 1 non viene Aperto il Form 2
Ma anche il codice Step non viene accettato e non capisco il perché.
Per il resto sembra che sia tutto ok.
Ciao e Buon Lavoro da A.Maurizio
 

Allegati

  • Chiudere_Un_Form_In_Modo_Alternativo.zip
    253 KB · Visualizzazioni: 2
Si, scusa dimenticavo che la parola step è una keyword riservata in vbnet, fai direttamente

textBox2.Size = New Size(textBox2.Width + 5, textBox2.Height)

Farlo con una label non credo abbia senso, poi se ha AutoSize a true non vedrai nessuna differenza.
Con la progressbar è molto più semplice: progressBar1.Value += 2 (aumenta del 2% se min 0 e max 100).

VB6 ormai appartiene al passato, .NET ti dà tantissimi vantaggi, una volta che lo conoscerai meglio sarai contento di aver fatto l'upgrade.

Ho il sospetto che l'altro errore sia dovuto a Form2.Show() perché Form2 dovrebbe essere il nome della classe del form, mentre tu devi mostrare un istanza di quella classe, fai quindi:

Codice:
Dim prova = New Form2()
prova.Show()
 
Ciao JunkCoder Grazie nuovamente per i tuoi consigli
Anche sé a dire il vero : Non solo la vedo dura nel riuscire a godere a pieno di questa applicazione
In quanto a parecchie problematiche sia di carattere di stabilità che di carattere comunicativo per persone come me che né capisce a pieno il proprio funzionamento .
Mi spiego meglio :
1) Perde spesso la visione dei form che inizialmente vengono aperti in fase di progettazione.
2) Sé si incontra nella stesura della programmazione più volte degli errori , e facile che continui a farmi vedere lo stesso form anche quando cambio nel suo stesso ambito le cose
Come ad Esempio sè in un primo momento nel form ho inserito una Label e successivamente vado a cambiare il tutto inserendo al suo posto delle Text .
E fracile che se avviassi il tutto ; Esso mi continui a far vedere sempre il form con le label e non con le text ecc....!
Allora detto ciò : E vero che per me questo programma e nuovo e tutto da imparare
Però sia pur stato un programma Obsoleto ; ma con il Vb6 tutto ciò non accadeva.

Detto questo : Ho inserito la nuova formula Offertami gentilmente da te sul mio progetto
Ma l'unica cosa che ho ottenuto e quella di far muovere la text1 e non la text2
Anche sé cambio totalmente i parametri ; E questo e un altro dato di fatto che cercavo di spiegare prima.

Per quanto riguarda l'apertura del form 2
Lo poi risolta e capita scrivendo semplicemente Questo:
Codice:
Me.Hide()
'E Successivamente
Form2.show

Questo Semplicemente perché con il VS 2022 forse non e possibile chiudere un Form principale aprendone uno secondario tutto qui .
Anche in questo caso non contento del risultato finale
Ho voluto togliere le Due textbox e mettere al suo posto una Progressbar
Ma come per magia, se avvio il programma quando si apre il Form2 mi visualizza ancora come sé il avessi ancora al suo interno le due Textbox

Tutto qui ....!
Comunque sia Grazie Ancora di tutto Sinceri Saluti da A.Maurizio