Visual Studio 用户范围的 DataGridViewCellStyle 设置未保存

Visual Studio user-scoped DataGridViewCellStyle setting not saving

我不确定这是一个错误,'feature',还是我做错了什么,但我正在尝试将 DataGridViewCellStyle 保存为用户范围的设置在 Windows 编码为 VB.NET 的表单应用程序中。我能够获取其他设置以正确保存和加载,但不能获取任何 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.UserbackgroundColorMy.Settings.UserFont 设置在应用程序关闭并重新打开时仍然存在,但 My.Settings.UserDGVCellStyle 在应用程序重新启动时始终显示为 'nothing'(即使它显示为

"{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,table 就成功地保持了。

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

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