Выровнять общее текстовое поле по определенным столбцам DataGridView — Win Forms c#

#c# #winforms #datagridview

#c# #winforms #datagridview

Вопрос:

У меня есть datagridview, в котором у меня есть 12 столбцов (пример: Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11 и Col12), а на другой панели есть текстовые поля для отображения общего количества некоторых столбцов (textbox1col4, textbox2col5, textbox3col6, textbox4col7, textbox5col8, textbox6col9 , и textbox7col10). Проблема здесь в том, что всякий раз, когда я загружаю данные в datagridview, эти текстовые поля total не выровнены, выглядят слишком далеко от определенного столбца. Я хочу, чтобы всякий раз, когда я загружаю данные в datagridview, textbox1col4 отображался в Col4, textbox2col5 отображался в Col5, textbox3col6 отображался в Col6 и так далее. Я не уверен, как запустить код, и какой код и куда мне нужно добавить код. Если кто-нибудь может помочь, предоставьте пример кода или предложение по его исправлению. Заранее спасибо.

Комментарии:

1. Смотрите DataGridView.GetColumnDisplayRectangle() элемент управления. RectangleToScreen() Элемент управления. RectangleToClient() . Затем сдвиньте результирующий прямоугольник с соответствующими границами текстового поля, например, textbox1col4.SetBounds(rect.X, textbox1col4.Top, rect.Width, textbox1col4.Height);

2. Каждый раз при сбросе источника данных вашего DGV и при изменении размера DGV.

3. Спасибо, Джими. У меня это сработало. Ура 🙂 Значение прямоугольника = dataGridView1.GetColumnDisplayRectangle(1, true); txt1Col1. Установленные границы (значение RecValue .X, txt1Col1.Top, значение RecValue. Ширина, txt1Col1. Высота);