Приложение 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% ширины.
РЕДАКТИРОВАТЬ: Для будущих читателей см. Комментарии ниже для лучшего способа сделать это.