Windows窗体应用程序(VB) - 在txt文件大小调整中读取数据视图

时间:2012-02-21 16:39:12

标签: winforms visual-studio-2010 datagridview

我有一个Windows窗体应用程序来创建一个小的备份程序(我是一个学生,这基本上是一个make工程项目)无论如何,我得到了它的工作,但我的datagrid视图不显示我想要它的方式。这不是自动调整大小所以它看起来非常可怕。我在.txt中读取了datagridview。这是我的代码;

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

但它在较大的datagridview中显示为一个非常小的盒子。任何帮助,将不胜感激。提前致谢。

1 个答案:

答案 0 :(得分:1)

将列的宽度设置为控件的宽度减去列左侧的选择框的宽度(语法可能已关闭,在C#中测试并尝试VB-ize):

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

可能还需要使用额外的-1或-2进行调整以使其足够瘦,以避免获得水平滚动条。过去,如果您的对话框和控件可以调整大小,您可以在表单大小更改时添加一个事件处理程序,以再次调用该行代码并将列设置为宽度的100%。

编辑:对于未来的读者,请参阅下面的评论,以获得更好的方法。