Smulazione checkbox checked

venerdì 23 gennaio 2009 - 21.51

alexvt Profilo | Newbie

Sto facendo una piccola applicazione che prevede che inserendo una quantita' in una textbox e cliccando sulla CheckBox relativa l'applicazione inizi un cliclo di calcolo . Ora tutto perfetto senonche' vorrei che dopo che e' stato fatto il Ciclo se l'utente con la Checkbox cliccata mi inserisce una nuova quantita' l'applicazione ricominci un'altro ciclo di calcolo con la nuova quantita' , nelle proprieta' della Form ho messo Key preview su true . ora ho provato questa procedura ma non funziona .

Private Sub inzio_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.KeyCode = Keys.Enter Then
Me.SelectNextControl(Me.ActiveControl, True, True, True, True)
Else
If QUANT1.Focus Then
If CheckBox1.CheckState = CheckState.Checked Then
CheckBox1.Checked = False
CheckBox1.Checked = True
End If

End If
end sub


Jeremy Profilo | Guru


>Private Sub inzio_KeyDown(ByVal sender As Object, ByVal e As
>System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
> If e.KeyCode = Keys.Enter Then
>Me.SelectNextControl(Me.ActiveControl, True, True, True, True)
> Else
> If QUANT1.Focus Then
>If CheckBox1.CheckState = CheckState.Checked Then
> CheckBox1.Checked = False
> CheckBox1.Checked = True
> End If
>
> End If
>end sub


Se ho capito bene tu vorresti fare ireseguire la tua procedura....deflaggando il tuo checkBox e riflaggandolo da cosice...Giusto???

Dipende con quale evento gestisci la procedura....dovresti far vedere l'altra porzione di codice....
Ma non sarebbe neanche necessario se consideri che potresti richiamare la procedura senza necessariamente dover riscatenare l'evento....

Comunque se fai vedere l'altra porzione di codice ci ragioniamo sopra
Ciao...

alexvt Profilo | Newbie

Ti ringrazio dell'interessamento . Ma stanotte ci ho ragionato su e l'idea era buona (una volta checked una casella davo la possibilita' all'utente di modificare in maniera dinamica i dati senza premere altri pulsanti per aggiornare i dati ) , ma per fare una cosa carina su una procedura tutto sommato secondaria mi stavo incartando , perche' Il prob e che ogni volta che un utente inserisce un qualsiasi dato nella casella , riparte il ciclo ed ho visto che mi rallenta tutto il form , ora visto che magari devono digitare anche piu' numeri ed io mi trovo a dover gestire un paio di cicli che si portano dietro altra roba , stavo creando un missile per andare nella stanza accanto . Quindi ho risolto che quando mettono il primo check la casella diventa Read Only , cosi se vogliono modifcare il dato devono prima togliere il Check (la casella diventa read/write ) in quel momento possono inserire il dato e solo al nuovo Check riparte il ciclo .

Jeremy Profilo | Guru

>Quindi ho risolto che quando mettono il primo check la casella diventa
>Read Only , cosi se vogliono modifcare il dato devono prima togliere
>il Check (la casella diventa read/write ) in quel momento possono
>inserire il dato e solo al nuovo Check riparte il ciclo .

Se è quello che vuoi...va benissimo così....nel senso che non è sbagliato come ragionamento in termini di chiamata ad una procedura...

Ma se è un modo per aggirare un problema che non sapevi come risolvere....secondo me, per la paura di 'incartarti', hai scelto la via più semplice ma non necessariamente l'unica.
Se hai avuto problemi a fare una cosa semplicissima come il ripetersi di una procedura con due eventi diversi, può darsi tu stia sbagliando approccio o stia impostando il tuo codice in modo non del tutto corretto.

In ogni caso, avresti potuto risolvere, a mio avviso(e non vedendo il codice completo), semplicemente spostando la tua procedura in una routine non gestita da un evento, per poi essere richiamata da qualsiasi evento tu voglia scatenare per richiamarla.

Per quanto riguarda, invece, il rallentamento del form(bisogna capire cosa intendi per rallentamento), anche questo è un problema che si può risolvere....magari con un DoEvents....che fa in modo che l'applicazione lasci il tempo alla CPU di fare altre cose che non siano esclusivamente l'esecuzione del tuo codice(esempio l'aggiornamento del Form).

Ciao...

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5