Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Aggiornare text box
Forum - C# / VB.NET - Aggiornare text box

Avatar
Antonello74 (Normal User)
Newbie


Messaggi: 3
Iscritto: 21/06/2011

Segnala al moderatore
Postato alle 8:29
Mercoledì, 22/06/2011
Ari salve a tutti, sono di nuovo qui a chiedere il vostro aiuto, visto che è l'unico forum, che risolve i problemi.

E questo è il codice che scrivo per inserire le textbox;
Codice sorgente - presumibilmente VB.NET

  1. Private Sub DutchBack_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DutchBack.Click
  2.         Me.DataGridView1.ReadOnly = False
  3.  
  4.         Dim i As Integer
  5.         Dim x As Integer = 8
  6.         Dim y As Integer = 100
  7.         Dim numerocasella As Integer = 0
  8.         numerocasella = DataGridView1.RowCount - 1
  9.         If variabile = True Then
  10.             If DutchBack.Focus = True Then
  11.                 For i = 0 To numerocasella
  12.                     Dim textbox, textbox1, textbox2, textbox3, textbox4 As New TextBox
  13.                     If DataGridView1.Item(0, i).Selected = True Then
  14.                         textbox.Name = "IdSelection" & i.ToString
  15.                         textbox.Location = New Point(x, y)
  16.                         textbox.Size = New Size(70, 20)
  17.                         textbox.Text = DataGridView1.Item(0, i).Value
  18.                         Me.DutchBack.Controls.Add(textbox)
  19.                         textbox1.Name = "Quota" & i.ToString
  20.                         textbox1.Location = New Point(93, y)
  21.                         textbox1.Size = New Size(50, 20)
  22.                         textbox1.Text = DataGridView1.Item(4, i).Value
  23.                         Me.DutchBack.Controls.Add(textbox1)
  24.                         textbox3.Name = "InversoQuota" & i.ToString
  25.                         textbox3.Location = New Point(403, y)
  26.                         textbox3.Size = New Size(30, 20)
  27.                         textbox3.Text = FormatNumber(1 / textbox1.Text, 2)
  28.                         Me.DutchBack.Controls.Add(textbox3)
  29.                         y = y + 38
  30.  
  31.                     End If
  32.  
  33.                 Next
  34.             End If
  35.         End If
  36.         txTotaleQuote.Text = 0
  37.         For i = 0 To numerocasella
  38.             If DataGridView1.Item(0, i).Selected = True Then
  39.                 txTotaleQuote.Text = FormatNumber(CDbl(txTotaleQuote.Text) + (1 / DataGridView1.Item(4, i).Value), 2)
  40.  
  41.             End If
  42.         Next
  43.         txTotaleQuote.Text = FormatNumber(1 / txTotaleQuote.Text, 2)
  44.         y = 100
  45.         For i = 0 To numerocasella
  46.             If DataGridView1.Item(0, i).Selected = True Then
  47.                 Dim textbox2, textbox4 As New TextBox
  48.  
  49.                 textbox2.Name = "Stake" & i.ToString
  50.                 textbox2.Location = New Point(149, y)
  51.                 textbox2.Size = New Size(50, 20)
  52.                 textbox2.Text = Stake(txStakeTotale.Text, txTotaleQuote.Text, DataGridView1.Item(4, i).Value)
  53.                 Me.DutchBack.Controls.Add(textbox2)
  54.                 textbox4.Name = "Vincita" & i.ToString
  55.                 textbox4.Location = New Point(205, y)
  56.                 textbox4.Size = New Size(50, 20)
  57.                 textbox4.Text = CDec(textbox2.Text) * CDec(DataGridView1.Item(4, i).Value)
  58.                 Me.DutchBack.Controls.Add(textbox4)
  59.                 y = y + 38
  60.             End If
  61.         Next
  62.  
  63.  
  64.     End Sub



adesso io vorrei che al cambiamento del contenuto di una specificata cella del datagridview, mi deve aggiornare la textbox con il nome quota.
qualcuno mi può aiutare?.
Grazie a tutti


Antonello74 ha allegato un file: ScreenHunter_01 Jun. 22 08.27.gif (97447 bytes)
Clicca qui per guardare l'immagine

Ultima modifica effettuata da Antonello74 il 22/06/2011 alle 11:06
PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
3
Down
V
Segnala al moderatore
Postato alle 12:48
Mercoledì, 22/06/2011
Eventi: CellEndEdit, CellFormatting, CellValueChanged, CallValidated.

TextBox1 è visibile a tutti i membri del form, in quanto è dichiarata dentro il form stesso.

il refresh non funziona, ho provato sull'evento cellvaluechanged del datagrid - Antonello74 - 22/06/11 13:18
Refresh() ridisegna solo il controllo. I dati in esso contenuti rimangono gli stessi. Prova anche con CellEndEdit. - Il Totem - 23/06/11 17:28
grazie, lo proverò - Antonello74 - 24/06/11 08:21
PM
Avatar
R0gerBlack (Member)
Expert


Messaggi: 210
Iscritto: 10/06/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 10:44
Mercoledì, 22/06/2011
Allora innanzitutto ti consiglio di mettere il codice nei tag code /code (tra le [] ).

Per aggiornare la TextBox durante un ciclo for basta che fai

Codice sorgente - presumibilmente Plain Text

  1. TextBox1.Refresh()



Anche se questo rallenterà leggermente il ciclo
Spero di esserti stato di aiuto :k:

PM
Avatar
Antonello74 (Normal User)
Newbie


Messaggi: 3
Iscritto: 21/06/2011

Up
-1
Down
V
Segnala al moderatore
Postato alle 11:04
Mercoledì, 22/06/2011
un dubbio, mi dite a che evento del datagridview dovrei fare il refresch della text box?, e poi mi sa che non funziona perchè è un controllo che aggiungo e mi sa che non vede textbox1.

P.S. Mi scuso se non ho messo il codice tra [] lo faccio subito.

PM