Приложение Windows Form (VB) - чтение данных в формате txt

У меня есть приложение Windows Form для создания небольшой программы резервного копирования (я студент, и это в основном проект make work). В любом случае, у меня все получилось, но мое представление таблицы данных не отображает то, что мне нужно. Это не автоматическое изменение размера, поэтому выглядит довольно ужасно. У меня есть чтение данных в формате.txt. Вот мой код;

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim filename As String = "C:\Code\filenames.txt"
    Dim dtTest As New DataTable("dtTest")

    dtTest.Columns.Add("Col1", GetType(String))

    Try
        Dim reader As New Microsoft.VisualBasic.FileIO.TextFieldParser(filename)
        reader.TextFieldType = FileIO.FieldType.Delimited
        reader.SetDelimiters(",")

        While Not reader.EndOfData
            Dim Fields() As String = reader.ReadFields
            dtTest.Rows.Add(Fields)
        End While

        reader.Close()
    Catch ex As Exception
        MessageBox.Show(Err.Description)
    End Try

    DataGridView1.DataSource = dtTest.DefaultView
End Sub

Но он отображается в виде действительно маленького прямоугольника внутри более крупной сетки данных. Любая помощь будет оценена. Заранее спасибо.

1 ответ

Решение

Установите ширину столбца равной ширине элемента управления за вычетом ширины элементов выбора слева от столбца (синтаксис может быть отключен, протестирован в C# и попытался выполнить VB-ize):

dtTest.Columns.Add("Col1", GetType(String))
dtTest.Columns("Col1").Width = dtTest.Width - dtTest.RowHeadersWidth

Может также потребоваться настроить с дополнительным -1 или -2, чтобы сделать его достаточно тощий, чтобы избежать получения горизонтальной полосы прокрутки. В прошлом, если размер диалогового окна и элемента управления можно изменять, вы можете добавить обработчик событий при изменении размера формы, чтобы снова вызвать эту строку кода и оставить для столбца значение 100% ширины.

РЕДАКТИРОВАТЬ: Для будущих читателей см. Комментарии ниже для лучшего способа сделать это.

Другие вопросы по тегам