0

我不确定这是一个错误、一个“功能”还是我做错了什么,但我正在尝试将一个DataGridViewCellStyle用 VB.NET 编码的 Windows 窗体应用程序中保存为用户范围的设置。我能够获得其他设置以正确保存和加载,但不能获得任何 DataGridViewCellStyles。

我什至设置了一个新的应用程序来测试这个,我遇到了同样的问题:

Public Class Form1



  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        My.Settings.UserDGVCellStyle = New DataGridViewCellStyle
        My.Settings.UserDGVCellStyle.Font = New Drawing.Font("Times New Roman", 14, FontStyle.Italic)
        My.Settings.UserDGVCellStyle.BackColor = Color.Azure
        My.Settings.UserFont = New Drawing.Font("Times New Roman", 13, FontStyle.Italic)
        My.Settings.UserBackgroundColor = Color.Black
    End Sub

    Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
        My.Settings.Save()
    End Sub
End Class

我在第一行和最后一行添加了代码中断。和设置在应用程序关闭和重新打开时仍然存在,但My.Settings.UserbackgroundColor在应用程序重新启动时始终显示为“无”(即使它显示为My.Settings.UserFontMy.Settings.UserDGVCellStyle

“{DataGridViewCellStyle { BackColor=Color [Azure], Font=[Font: Name=Times New Roman, Size=14, Units=3, GdiCharSet=1, GdiVerticalFont=False] }}”

在 My.Settings.Save() 行期间)。

我意识到,与其尝试保存 DataGridViewCellStyle,我可以用一堆单独的设置(即字体、背景色、对齐方式等)替换它,但如果我不必这样做,我宁愿不这样做,因为我会必须为我的应用程序做很多次。

在(可能)相关的注释中,我记得在保存 DataTable 时遇到了这个问题,但是一旦我填写了 DataTable.TableName,该表就会成功保存。

4

1 回答 1

0

DataGridViewCellStyles 不可序列化,因此它们不是可检索的应用程序设置。

就在那里,现在是答案形式。我来寻找同样问题的答案,你是对的,这对我来说也是浪费时间。

于 2016-11-22T21:01:25.097 回答