Как отобразить данные ячейки DGV в текстовое поле
- я строчка кодаУ меня есть DataGridView, построенный из выбранных данных из моей базы данных. Из-за ограничений по размеру я усек 2 столбца. Когда я нажимаю на одну из ячеек в Столбцах, открывается текстовое поле, которое должно отображать полный текст в этом поле. Когда я нажимаю на ячейку, открывается текстовое поле, но текст отображается в верхней части поля, а в теле ничего нет. Если я нажму клавишу enter или пробел, то текст появится в теле поля.
Как я могу сделать так, чтобы текст появлялся в поле, когда оно открывается?
Я прикрепил подпрограмму щелчка по ячейке и подпрограмму текстового поля.
Я также пробовал инструмент ToolTip, и он работает, но есть две проблемы. Я хотел бы иметь возможность управлять внешним видом окна аналогично коду CellClick(размер окна, цвет, тип шрифта и размер) и пусть он остается активным до тех пор, пока не будет отпущен с помощью кнопки закрытия.
(Основной код прилагается)
Что я уже пробовал:
Код CellClick
Private Sub grdViewMovies_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles grdViewMovies.CellClick Dim value As Object = grdViewMovies.Rows(e.RowIndex).Cells(e.ColumnIndex).Value Dim colNumb As String = grdViewMovies.CurrentCell.ColumnIndex.ToString 'Make sure only information in columns 1 or 2 is displayed. If colNumb = 1 or colNumb = 2 Then 'If there is no data in the cell If IsDBNull(value) Then MessageBox.Show("NO DATA IN THIS CELL", " NOTHING HERE", MessageBoxButtons.OK, MessageBoxIcon.Information) ElseIf colNumb = "0" Then Form1.again = False Exit Sub Else 'Open sayitForm and display the text that is in the cell displayText = CType(value, String) Using sayitForm As New INFORMATION sayitForm.Text = displayText sayitForm.ShowDialog(Me) End Using End If End If End Sub Private Sub closeBtn_Click(sender As Object, e As EventArgs) Handles closeBtn.Click End Sub End Class Public Class INFORMATION Private Sub txtSayit_TextChanged(sender As Object, e As EventArgs) Handles txtSayit.TextChanged txtSayit.Text = SQLForm.displayText End Sub End Class
Код Всплывающей Подсказки
Private Sub grdViewMovies_CellMouseEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdViewMovies.CellMouseEnter Dim myRow As Integer = e.RowIndex Dim myCol As Integer = e.ColumnIndex If myCol = 1 Or myCol = 2 And myRow > 0 Then Me.grdViewMovies.Rows(myRow).Cells(myCol).ToolTipText = Me.grdViewMovies.Rows(myRow).Cells(myCol).Value End If End Sub