首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Windows C中将Windows窗体属性绑定到ApplicationSettings的最佳方法?

在Windows C#中,将Windows窗体属性绑定到ApplicationSettings的最佳方法是使用.NET框架提供的设置功能。以下是详细步骤:

  1. 首先,在项目中添加一个新的设置文件。在解决方案资源管理器中,右键单击项目名称,然后选择“添加” > “新建项” > “设置文件”。
  2. 在设置文件中,定义要绑定到窗体属性的设置。例如,要将窗体的位置和大小绑定到应用程序设置,可以添加以下设置:
代码语言:csharp
复制
public class FormSettings
{
    public int FormWidth { get; set; }
    public int FormHeight { get; set; }
    public int FormX { get; set; }
    public int FormY { get; set; }
}
  1. 在窗体的代码文件中,添加以下代码以将窗体的位置和大小绑定到应用程序设置:
代码语言:csharp
复制
public partial class Form1 : Form
{
    private readonly FormSettings _formSettings;

    public Form1(FormSettings formSettings)
    {
        _formSettings = formSettings;
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        this.Size = new Size(_formSettings.FormWidth, _formSettings.FormHeight);
        this.Location = new Point(_formSettings.FormX, _formSettings.FormY);
    }

    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
        _formSettings.FormWidth = this.Size.Width;
        _formSettings.FormHeight = this.Size.Height;
        _formSettings.FormX = this.Location.X;
        _formSettings.FormY = this.Location.Y;
    }
}
  1. 在程序的主函数中,创建一个FormSettings实例并将其传递给窗体的构造函数:
代码语言:csharp
复制
static void Main()
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);

    var formSettings = new FormSettings();
    Application.Run(new Form1(formSettings));
}

这样,窗体的位置和大小将自动保存到应用程序设置中,并在下次启动时恢复。

推荐的腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Windows 10计算机上安装Python最佳方法是什么?

本文中,我们将讨论Windows 10计算机上安装Python最佳方法,包括每种方法分步指南。...方法 1:使用 Microsoft Store 安装 Python Windows 10计算机上安装Python第一种方法是通过Microsoft Store。...方法 2:使用 Python 网站安装 Python Windows 10计算机上安装Python另一种方法是使用Python网站。...结论 总之,Windows 10计算机上安装Python有几种不同方法,包括使用Microsoft Store,Python网站和Anaconda Distribution。...每种方法都有自己优缺点,最适合您方法将取决于您特定需求和偏好。 按照本文中概述步骤,您可以轻松有效地 Windows 10 计算机上安装 Python。

2.3K40

WPF 双向绑定非公开 set 方法属性 NET 45 和 NET Core 行为不同

本文记录 WPF .NET Framework 4.5 和 .NET Core 3.0 或更高版本对使用 Binding 下 TwoWay 双向绑定模式绑定非公开 set 属性行为变更 ....NET Framework 4.5 下,可以使用 Binding 下 TwoWay 双向绑定模式,绑定非公开 set 属性,如 private set 私有设置属性上,实现双向更改,效果上和公开...set 方法一样,可以成功写入 但是 .NET Core 3.0 开始,此绑定将会提示 XamlParseException 而抛出异常 如以下 ViewModel 代码,包含了一个 Name 属性...然而在 .NET Core 3.0 或更高版本,将会抛出异常 System.Windows.Markup.XamlParseException: '“设置属性“System.Windows.Controls.TextBox.Text...经过我考古, .NET Framework 4.6 下行为就和 .NET Core 3.0 版本相同,是会抛出异常 敲黑板,使用双向绑定非公开 set 方法属性行为变更,不是 .NET Framework

1.2K20

Dotnet 2.0配置系统

今天使用VS2005开发一个Windows服务,发现dotnet2.0配置系统相对于1.x功能变化很大。记录下来同各位共享。...NET Framework 2.0 和 Visual Studio 2005 为 Windows 窗体应用程序提供了一个新配置系统。...应用程序设置是只读,并且其值由计算机上此应用程序所有用户共享。默认情况下,这些值存储应用程序配置文件中。下面是一些配置设置示例: <?... Visual C# .NET 中,可以通过右键单击解决方案资源管理器中项目并选择“Properties”来访问设置设计器。属性页列表中,选择“Settings”。...将看到一个设计器,它允许您定义应用程序和用户设置所有方面。设计器中保存更改时,Visual C# 会自动创建并填充相应配置文件。

53160

C# SplitContainer 控件详细用法

SplitterDistance 属性 * 确定从左边缘或上边缘可移动拆分条距离(以像素为单位)。...在下面的代码示例中,在窗体 Load 事件中将 SplitContainer 控件中拆分器设置为拖动时跳过 10 个像素。...这种排列主要是通过在窗体上停靠控件实现停靠控件时,可以确定控件要紧靠父容器哪个边缘。这样,如果将 Dock 属性设置为 Right,控件右边缘将停靠在它父控件右边缘。...此外,控件停靠边缘大小将调整为与它容器控件大小匹配。有关 Dock 属性工作方式更多信息,请参见如何: Windows 窗体上停靠控件。...这些 SplitContainer 控件支持在窗体上分别调整其他控件大小。可以改编此过程中方法,制作出您自己自定义用户界面。

2.7K30

WinForm学习

封装:就是将代码看作一个整体,例如使用类、方法、接口等。使用定义好类、 方法、接口等对象时不必考虑其细节,只需要知道其对象名以及所需要参数即可,也是一种提升代码安全性方法。...2)通过工具箱中label标签,button按钮,comboBox下拉按钮,直接在拖拽窗体中;按钮单击事件直接双击可以跳到对应方法中进行代码编辑;还需要修改对应标签属性Name,方便后续编辑...,直接点击 MenuStrip ,右边 Windows 窗体中就可以显示,输入具体值时需要有提示字母,可以通过&+字母实现 8)ToolStrip 和添加菜单栏类似,工具箱中将 ToolStrip...可以通过属性Click指定不同按钮相同事件 11)容器 容器中可以放入需要组件 12)属性 Anchor属性可以将内部容器窗体拉伸大小随外部窗体改变而改变...六、Form初始化、布局 1.form初始化操作时是先执行构造方法InitializeComponent(),然后执行load(),包括实例化——属性设置——事件注册——将控件添加到当前窗体Controls

3.3K10

SplitContainer(拆分条控件)

SplitterDistance 属性 * 确定从左边缘或上边缘可移动拆分条距离(以像素为单位)。...在下面的代码示例中,在窗体 Load 事件中将 SplitContainer 控件中拆分器设置为拖动时跳过 10 个像素。...这种排列主要是通过在窗体上停靠控件实现停靠控件时,可以确定控件要紧靠父容器哪个边缘。这样,如果将 Dock 属性设置为 Right,控件右边缘将停靠在它父控件右边缘。...此外,控件停靠边缘大小将调整为与它容器控件大小匹配。有关 Dock 属性工作方式更多信息,请参见如何: Windows 窗体上停靠控件。...这些 SplitContainer 控件支持在窗体上分别调整其他控件大小。可以改编此过程中方法,制作出您自己自定义用户界面。

2.2K20

《101 Windows Phone 7 Apps》读书笔记-ALARM CLOCK

我们可以使用一个字符串键值该字典中存储任何可序列化对象。当应用程序退出时候(无论是关闭或者休眠),ApplicationSettings内容会自动序列化,存储隔离存储空间文件中。...因此,唯一手动调用保存方法原因是应用程序崩溃之后、关闭或者休眠之前,确保数据不丢失。 应用程序更新或者卸载以后,隔离空间中数据会发生什么?...虽然toggle switch是内容控件,但是你不想涉及Content属性。...color picker页面利用传入settingName作为参数,直接把选定颜色写入IsolatedStorageSettings. ApplicationSettings中去。...Ø Run实例中,我们可以把它和text block设置成相同formatting属性

1.1K60

【愚公系列】2023年11月 WPF控件专题 2023秋招WPF高频面试题

除了像Winform那样Windows 窗体”上删除控件之外,WPF 还为应用程序开发提供了额外功能改善,包括丰富用户界面、动画等等。...相比之下,XAML 用于设计 Windows 和其他 Web 应用程序控件。 XAML 侧重于对象属性、定义以及它们之间关系。XML 是 W3C 产生一种标记语言,用于描述其他标记语言。...Dispatcher: 一个抽象基类,用于绑定一个线程上类。与Windows窗体类似,WPF也要求仅从创建线程中调用方法属性。...18.WPF 是建立 Windows 窗体之上还是完全不同? 这两个是完全不同技术。 它们确实为两个方向提供了一些互操作性层,但除此之外没有任何共同之处。...23.说出使用WPF而不是Windows窗体一些优点使用 WPF 代替 Windows 窗体优点: XAML 使更容易创建和编辑 GUI,并允许设计模式 (XAML) 和后台代码(C#、VB.NET

43322

C# WPF MVVM模式Prism框架从零搭建(经典)

01前言 目前最新PRISM版本是8.1.97,本节以6.3.0.0 讲解,可以Github上获取PRISM源码。...MyShellView.xaml,将窗体分为左右两部分 这里cal:RegionManager.RegionName是一个依赖属性,我们将它与ItemsControl控件相关联,MainRegion就是一个占位符...中将类标注为 [Export] step4:新建类库PrismModuleLeft 类库中新建ModuleLeftView.xaml 关于事件绑定:(在下面代码中两种方式都列出来了) ①控件继承自ButtonBase...、MenuItem类,比如:Button、RadioButton、Hyperlink、MenuItem……这种情况下,由于Prism已经帮我们实现了这些控件Command属性,可以直接绑定Command...属性来完成Click事件ViewModel绑定: ②ListView、ListBox、DropDownList等等大部分没有Click事件控件。

2.3K10

迁移 dotnet 6 提示必须将目标平台设置为 Windows 平台

迁移一个古老项目为 .NET 6 框架,但是 VS 提示 error NETSDK1136 如果使用 Windows 窗体或 WPF,或者引用使用 Windows 窗体或 WPF 项目或包,则必须将目标平台设置为...但是我不想让此项目绑定 Windows 平台上,不在 TargetFramework 上修改为 net6.0-windows 框架 此提示是 .NET SDK Microsoft.NET.Sdk.DefaultItems.targets...而我项目不期望绑定 Windows 上,就需要去寻找是哪些依赖项目或库使用到了 Windows Forms 或 WPF 项目 这里必须说明是 WPF 和 Windows Forms 啥都不做情况下...这个开源库拷贝了 WPF 一些类型定义,基于 MIT 协议 但是逐步干掉所有的依赖,依然提示如下 C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk...,或者引用使用 Windows 窗体或 WPF 项目或包,则必须将目标平台设置 为 Windows (通常通过 TargetFramework 属性中添加 "-windows")。

1.1K10

Spread for Windows Forms快速入门(10)---绑定数据库

下面的教程将带你创建一个工程, 并将Spread控件绑定一个数据库。 在这个教程中,主要步骤为: 1. 将Spread添加到一个数据绑定工程中 2. 设置数据库连接 3. 指定要使用数据 4....把Spread控件绑定数据库 6. 通过改变单元格类型改善显示效果 将Spread添加到一个数据绑定工程中 打开一个新Visual Studio.NET工程。将工程命名为databind。...新数据集控件已经被添加到了你窗体中。 6. 如果DataSet控件属性窗口还没有出现,点击F4打开。 7. 属性窗口中,将控件名称改为dbDataSet。 8....把Spread控件绑定数据库 数据集已经准备好了,现在你需要提供代码将Spread控件绑定准备好数据集。 1. 如果Spread控件属性窗口还没有出现,点击F4打开。 2....到此为止,你已经掌握了如何使用Spread控件将数据绑定数据库。

1.6K90

《101 Windows Phone 7 Apps》读书笔记-BABY MILESTONES

课程内容 Ø图片读写 Ø序列化 Ø双向数据绑定     Baby Milestones将婴儿从出生2岁之间发展关键里程碑通知给父母。...这通过BeginInvoke调用来完成,因为设置数据内容以后立刻操作list box滚动条,这样可能不行。我们需要在这种方法操作list box之前完成数据绑定。...➔ Windows Phone应用程序中,list box最常用SelectionChanged事件(只有选定内容改变以后才会触发,而非点击操作就可以)在这里是不希望出现。...一般情况下,C#编译器会生成隐式默认构造函数。但是,定义非默认构造函数时,我们必须显式地定义一个默认构造函数(如果需要的话)。...我们可以通过对System.Runtime中一些自定义属性进行标记方法序列化和反序列化中加入用户自定义逻辑。

775100

c#实战教程_ps初学者入门视频

(5) 从[Toolbox]窗口中选中一个Button控件窗体,[Properties]窗口中将按钮[Text]属性分别改为”查看时间”。...10.2.1 数据绑定基础 ASP.NET引入了新数据绑定语法。这种非常灵活语法允许开发人员不仅可以绑定数据源,而且可以绑定简单属性、集合、表达式甚至是从方法调用返回结果。...10.2.2 基于变量数据绑定 ASP.NET 数据绑定语法支持绑定公共变量、页属性和页上其他控件属性。下面的示例说明如何绑定公共变量和页上简单属性。...下面的示例说明如何绑定表达式和方法返回值。...ASP.NET 声明性数据绑定语法使用 表示法。 2. 可以绑定数据源、页或其他控件属性、集合、表达式以及从方法调用返回结果。 3.

15.5K10

C# Timer控件学习之使用Timer解决按钮幂等性问题案例分享

Timer控件属性属性AutoReset 获取或设置一个布尔值,该值指示 Timer 是否应只引发一次 Elapsed 事件((false) 或重复 (true))。 ...Site 获取或设置设计模式中将 Timer 绑定其容器站点。 SynchronizingObject 获取或设置对象,该对象用于间隔过后封送发出事件处理程序调用。 ...Timer控件方法方法BeginInit() 开始用于窗体或由其他组件使用 Timer 运行时初始化。 Close() 释放由 Timer 占用资源。 ...(继承自 Component) Dispose(Boolean) 释放由当前 Timer 使用所有资源。 EndInit() 结束用于窗体或由其他组件使用 Timer 运行时初始化。 ...;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms

80700
领券