C#有点新鲜。我会尽力解释我的问题。
我很难找到我在自定义工具上制作的属性。我的GUI上有很多这样的工具,所以它并不像使用属性明确地输入它那么简单。这些控件包含在List中,我希望能够轻松访问其属性(这是其隔离和单独的解决方案项目的一部分)。这是我到目前为止的例子:
List<Control> controlList = new List<Control>();
private void btnStart_Click(object sender, EventArgs e)
{
foreach (var item in controlList)
{
if (item.Enabled)
{
custom_control1.Code = "8917237";
custom_control1.MacAddress = "000000000001";
}
}
// do other stuff based on the above credentials
}
我希望能够在if语句中执行以下操作:
item.Code = .... // calculation
item.MacAddress = .... // this will increment in hex depending on how many controls I have Enabled
以便'item'的每个实例都具有我可以使用for循环或其他内容更改的自定义控件属性。注意:每个控制工具项将根据计算具有不同的MAC和代码。
我不确定如何实现这一点。我想我的主要问题是我能够看到默认的属性列表(如Visible,Enable等等),但不能看到我的自定义属性。做同样的事情:controlList[0].Code
对我没有帮助,因为同样的问题。我显然在这里误解了一些东西。
提前感谢您的帮助。
答案 0 :(得分:0)
要直接在列表对象中访问自定义属性,列表必须是自定义类的列表,而不是Control
。所以,而不是
List<Control> controlList = new List<Control>();
使用
List<MyCustomClass> controlList = new List<MyCustomClass>();