我有一个用C#开发的Windows应用程序,有20个表单。如何将用户选择的字体保存在数据库中,并在应用程序中重新加载,因为它作为默认表单、标签、文本框等应用于我的项目中的所有表单。?
实际上,我想让用户自定义申请表。
不能将字体对象直接保存到数据库中。您可以制作一个函数,将Font转换为String并返回,这样字符串值就可以保存到数据库中。
在应用程序的外观设置对话框中,只要在保存时调用fontToString()函数,就可以获得所需的所有设置。然后(我假设你有一个数据库要保存,否则你可以使用AppData或.NET的Properties.Settings.Default功能)将你从函数中得到的字符串保存到数据库中。
您还应该在公共静态类或名为updateFontInAllWindows()的易于访问的类中实现一个函数,在该类中,您可以从数据库中查找设置并将其应用于每个表单。以下是一些示例代码(Font-usefont是数据库查询的最终结果)。
Font usefont = DatabaseHandler.GetFont();
List<Form> formList = new List<Form>();
formList.Add(Form1);
formList.Add(Form2);
foreach (Form frm in formList) {
foreach (Control ctl in frm.Controls) {
ctl.Font = usefont;
}
}
这段代码循环遍历每个窗体中的每个控件,并将字体应用于它。您也可以将它展开以使用其他设置,如BackgroundColor。请注意,您必须将每个要根据用户设置进行自定义的表单添加到表单列表中。祝你好运