Ok adesso vedrò di spiegarmi meglio, questa è intanto un'immagine per rendere meglio l'idea:

Diciamo che su TextBox_1 scrivo un valore che è sempre numerico, durante la scrittura questo valore viene convertito tramite una funzione in caratteri alfanumerici e posto in TextBox_1B e così avviene analogamente per tutti gli altri TextBox.
A me interessa scrivere nella tabella, oltre che nel TextBox_1B, il valore alfanumerico derivato dalla funzione, però questo deve essere fatto in opportune celle ad esempio da quelle con coordinate da 00 a 03, mentre se scrivo TextBox_2 il valore alfanumerico dovra essere riportato in TextBox_2B e alle celle con coordinate da 54 a 57 e via dicendo per le altre TextBox. Questa cosa però non deve funzionare a senso unico, nel senso che io devo poter modificare le celle in tabella e ritrovarmi i valori aggiornati nelle relative textbox. Ora riporto la soluzione a cui ho iniziato a lavorare ma che è incompleta.
All'evento Load del Form lancio questa funzione:
Codice PHP:
Private Sub addHandlersToTxt()
Dim element As Control
For Each element In Me.Controls
If TypeOf element Is TextBox Then
AddHandler CType(element, TextBox).TextChanged, AddressOf textHandler
End If
Next
End Sub
Dopodichè ho scritto la funzione textHandler:
Codice PHP:
Private Sub textHandler(ByVal sender As Object, ByVal e As System.EventArgs)
Select Case sender.name
Case "TextBox_1"
TextBox_1B.Text = New funzioneConverti(sender.Text)
Case "TextBox_2"
TextBox_2B.Text = New funzioneConverti(sender.Text)
End Select
End Sub
Oltre a scrivere il valore nell'altra TextBox come posso scriverlo nel dataGrodView?
Il mio problema è la lunghezza del testo, come vedete nelle celle devono starci 2 caratteri quindi se ad esempio in TextBox_2B ho il valore "AB9" mi trovo a dover scrivere nella cella 54 il valore "AB" nella cella 55 il valore "05" (devo aggiungere uno zero perchè non posso lasciare un solo carattere), nella cella 56 "00" e uguale per la cella 57 quindi qualunque sia il numero di caratteri di TextBox_2B io devo riempire 4 celle.
Per quello che riguarda invece la modifica del dataGridView e la visualizzazione nelle rispettive TextBox ho pensato a una cosa del genere:
Codice PHP:
Private Sub Grid_CellValueChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Me.CellValueChanged
_main.updateInfo()
End Sub
Cioè sfrutto l'evento del datagridview per richiamare una funzione.
_main è un riferimento al form principale e la funzione updateInfo è così definita:
Codice PHP:
Private Sub updateInfo()
TextBox_1.Text = New funzioneConverti(selected_grid.Rows(1).Cells(1).Value + selected_grid.Rows(1).Cells(2).Value + _
selected_grid.Rows(1).Cells(3).Value + selected_grid.Rows(1).Cells(4).Value)
End Sub
Scelgo di convertire in valore delle celle e di scriverle su TextBox_1 perchè in questo modo verrà scatenato l'evento precedente su TextBox_1 che andrà a modificare il valore di TextBox_1B anche se questo TextBox riporta esattamente il valore contenuto nelle celle modificate. selected_grid è un riferimento al Datagridview
Spero di essere stato più chiaro e che mi possiate aiutare nel mio problema.
Grazie in anticipo
Edit: dimenticato di dire che può capitare anche che modifichi ad esempio TextBox_1B e che si debba aggiornare TextBox_1 e le relative celle.