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



我不确定这是一个bug、一个"功能",还是我做得不正确,但我正在尝试将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.UserbackgroundColorMy.Settings.UserFont设置保持不变,但当应用程序重新启动时,My.Settings.UserDGVCellStyle始终显示为"无"(即使它显示为

"{DataGridViewCellStyle{BackColor=Color〔Azure〕,Font=〔Font:Name=Times New Roman,Size=14,Units=3,GdiHarSet=1,GdiVerticalFont=False〕}}"

在My.Settings.Save()行中)。

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

在一个(可能)相关的注意事项上,我记得在保存DataTable时遇到过这个问题,但有一次我填充了DataTable。TableName,表已成功持久化。

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

就在这里,现在是答案表。我来找这个问题的答案,你是对的,这对我来说也是浪费时间。

相关内容

  • 没有找到相关文章

最新更新