gpt4 book ai didi

c# - 如何更改应用程序中每个控件的属性

转载 作者:太空宇宙 更新时间:2023-11-03 11:42:52 24 4
gpt4 key购买 nike

我想做的是让用户能够更改我的应用程序中所有文本框的某些(这里是一个)属性。当用户触发我的事件时,每个用户控件、面板等中的每个文本框都应该更改。

例如,所有文本框都应更改为 Multiline=true;(我知道这没有多大意义,但我的需求与此非常相似),但如何在不循环的情况下实现此目的每个控件?

我知道我可以做类似的事情

foreach(Control item in FindForm().Controls)
{
if(item is TextBox)
{
(item as TextBox).Multiline=true;
}
}

但我认为这不是一个完美的解决方案,也不是一个好的解决方案。

我知道我可以将设置写入文件并在应用程序启动时读取它们,但是如何在运行应用程序时更改属性?

我知道的主要问题是 ControlProperties 不允许我给它们一个 bool 对象的引用,所以我不能轻易地在“设置对象”中更改它,或者我在这里错过了什么?

最佳答案

我不知道有什么好的教程可以指导您完成它,但您可以对任何属性(包括多行)进行数据绑定(bind),而不仅仅是文本属性。这应该可以完成您需要做的事情。

this.txtField.DataBindings.Add(
new System.Windows.Forms.Binding("Multiline",
global::ProjectNamespace.Properties.Settings.Default,
"BoolianSettingInConfigFile",
true,
System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));

我在这个例子中使用了配置文件,但它可以存储在任何地方。

关于c# - 如何更改应用程序中每个控件的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4257075/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com