我不确定这是一个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.UserbackgroundColor和My.Settings.UserFont设置将保持不变,但是当应用程序重新启动时,My.Settings.UserDGVCellStyle总是显示为“nothing”(尽管它显示为
{DataGridViewCellStyle{ BackColor=Color Azure,Font=Font: Name=Times New,Size=14,Units=3,GdiCharSet=1,GdiVerticalFont=False }
在My.Settings.Save()行中)。
我意识到,与其试图保存DataGridViewCellStyle,我可以用一堆单独的设置(如字体、BackColor、对齐等)来替换它,但我宁愿不必保存它,因为我需要为我的应用程序做很多次。
在一个(可能)相关的注意事项上,我记得在保存DataTable时遇到了这个问题,但是一旦我填充了DataTable.TableName,该表就会成功地保持不变。
发布于 2016-11-22 21:01:25
DataGridViewCellStyle是不可序列化的,因此它们是不可检索的应用程序设置。
就在这里,现在以答案的形式出现。我来找同样问题的答案,你是对的,这对我来说也是浪费时间的。
https://stackoverflow.com/questions/36722698
复制相似问题