ho un form con datagridview di 11 colonne e righe variabili (media di 500), vorrei che quando si entra con il mouse nelle celle di determitate colonne, mi compaia un bottone in prossimità di questa cella (adiacente al margine superiore della cella corrente).. il mio problema che non so come fornire le coordinate a questo bottone affinchè si posizioni pefettamente (o quasi) adiacente alla cella selezionata...
il codice l'ho inserito nell'evento di DataGridView_CellEnter della tabella, così
ovviamente le coordinate calcolate in quel modo non sono per niente valide al caso..codice:Private Sub ElencoDataGridView_CellEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles ElencoDataGridView.CellEnter ' non esegue se è stata attivata la proprietà readonly della cella If sender.CurrentCell.ReadOnly Then Exit Sub ' è valido solo se la cella appartiene a queste colonne Select Case sender.columns(e.ColumnIndex).name Case "RinnovatoGrid", "ScadenzaGrid", "ContrattoGrid" With DataButton ' questa è solo per ricavare la posizione Left, ma non è precisa ' perchè non tiene conto di colonne nascoste e non nell'aria visibile Dim Lefts = 0 For i = 0 To e.ColumnIndex Lefts += sender.Columns(i).Width Next ' qua dovrebbe posizionare il bottone e renderlo visibile ' ho messo valori che non ci azzeccano na mazza .Left = Lefts - (.Width / 2) .Top = sender.Top - (.Height / 2) .Tag = sender.name .Visible = True End With End Select End Sub![]()
mi è venuta l'idea di usare le coordinate del mouse, ma non so come richiamarle![]()
qualche idea?
edit: adesso che ci penso: se la cella viene selezionata da tastiera le coordinate del mouse non vanno bene, quindi non può essere un'alternativa valida![]()
l'unica è sapere la posizione della cella corrente rispetto alla tabella o al forms.. come si fa?![]()

), vorrei che quando si entra con il mouse nelle celle di determitate colonne, mi compaia un bottone in prossimità di questa cella (adiacente al margine superiore della cella corrente).. il mio problema che non so come fornire le coordinate a questo bottone affinchè si posizioni pefettamente (o quasi) adiacente alla cella selezionata...
Rispondi quotando