winforms (应用程序设置)未显示在窗体属性上- Visual Studio 2022 C#

9q78igpj  于 2022-11-17  发布在  C#
关注(0)|答案(2)|浏览(469)

我一直在寻找一种方法来为项目中的某些窗体的背景颜色创建一种“全局”设置。我找到的一些示例建议在属性中使用此(ApplicationSettings)选项,如下所示(抱歉,我是新来的,所以不能直接发布图片):

问题是我到处找都找不到,我的出现是这样的:

有没有办法添加该选项?

3xiyfsfu

3xiyfsfu1#

直接系结至Windows Form中应用程序设定的功能尚未从.NET Framework移转至.NET Core。
但是,通过一些代码和解决方法,您仍然可以绑定到您的设置。
1.右键单击您的项目并导航到 * 属性〉设置〉常规 。单击 “创建或打开应用程序设置”
1.添加您的设置,例如,使用 * 名称=“DefaultBackColor”
和 * 类型=系统.绘图.颜色 *。
1.关闭项目属性并编译。

  1. Visual Studio创建了一个文件 *Properties〉Settings.settings〉Settings.Designer.cs *。打开 * Settings.Designer.cs *。您将看到一个自动生成的internal sealed partial class Settings,它具有属性public Color DefaultBackColor { get; }。为了能够创建绑定源,我们必须使此类为public并再次编译。稍后将使用internal修饰符重新创建此类,但我们不介意,因为我们只是暂时需要public修饰符。
    1.在窗体设计器中,单击窗体的背景以在属性窗口中选择它。
    1.在属性窗口中选择 DataBindings〉Advanced。在 Bindings 组合框中选择 “Add new Object Data Source...",选择Settings类并单击OK。
    1.在我的例子中,VisualStudio没有立即更新Binding下拉列表,所以我不得不稍微修改一下,但最后我得到了条目 Other Data Sources〉Project Data Sources〉Properties〉Settings〉DefaultBackColor。在左侧列表中选择BackColor,然后在Binding下拉列表中选择DefaultBackColor。这将在窗体上创建一个settingsBindingSource,并连接窗体的BackColor
    1.在表单的构造函数中设置此绑定源的数据源:
public Form1()
{
    InitializeComponent();
    settingsBindingSource.DataSource = Properties.Settings.Default;
}

现在,窗体和所有从窗体继承BackColor的控件都将具有在应用程序设置中定义的颜色。
在其他表单中,重复步骤7和8。

ippsafx7

ippsafx72#

这个选项适用于以.NET Framework为目标的项目,但不适用于以.NET Core为目标的项目,后者包括.NET 5和更高版本。Windows窗体最初并不打算进入.NET Core,但微软意识到,许多人宁愿忽略.NET Core也不愿放弃WinForms。您可以选择是要该功能还是要以.NET Core为目标。
请注意,您可能只需要自己编写代码就可以将属性绑定到应用程序设置。我刚刚为窗体的Text属性创建了一个绑定,并且在设计器代码文件中生成了以下代码:

this.DataBindings.Add(new System.Windows.Forms.Binding("Text",
     global::MyWindowsFormsApp.Properties.Settings.Default, "Form1Text", true,
     System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));

基本上,您可以在Load事件处理程序中自己编写该代码,在该事件处理程序中,您可能会绑定其他属性,例如,绑定到从数据库检索的数据。

相关问题