gpt4 book ai didi

c# - 在运行时读取 .NET 控件 "Design"属性

转载 作者:行者123 更新时间:2023-11-30 16:42:19 24 4
gpt4 key购买 nike

如何在运行时读取 .NET Windows.Forms“设计”属性? (我认为这一定是可能的,因为设计师等正在使用它们。)“设计”属性是 GenerateMemberLockedModifiers .

例如。我想在运行时读取 Modifiers 属性。如果控件被标记为“公共(public)”,我将在其上附加一个工具提示。或其他。

最佳答案

Locked属性由 ControlDesigner 添加和 ModifiersGenerateMemberModifiersExtenderProvider 添加只是在设计时。

它们不是真正的控件属性,它们只是对设计器支持有用,默认的序列化程序不会生成任何关于它们的代码,因此您在运行时看不到它们。

例如Locked对运行时没有任何意义。

关于知道控件是否有成员,成员是否是public,可以靠反射。

示例

public bool IsMemberGenerated(string name)
{
var field = this.GetType().GetField(name, System.Reflection.BindingFlags.Public |
System.Reflection.BindingFlags.NonPublic |
System.Reflection.BindingFlags.Instance);
return field != null;
}

关于c# - 在运行时读取 .NET 控件 "Design"属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47052044/

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