Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于存储控件类型Windows窗体C的数据类型#_C#_Winforms - Fatal编程技术网

C# 用于存储控件类型Windows窗体C的数据类型#

C# 用于存储控件类型Windows窗体C的数据类型#,c#,winforms,C#,Winforms,尝试一个简单的项目来创建我自己的(非常基本的)数据绑定 我有一个类字段描述符,它存储关于数据库列的元信息。还有一个类字段表示实际字段,它将包含对其相应字段\描述符类的引用 我被困在两个地方 首先,我需要在FIELD_DESCRIPTOR类中有一个属性,用于存储字段在前端映射到的Windows窗体控件的类型。例如,我需要一个属性,例如,映射的控件类型。我应该能够在这个属性中存储文本框、组合框等。我应该只使用字符串属性并完成它吗?还是有更好的办法?理想情况下,我希望使用某种类型的控件类型枚举 其次,

尝试一个简单的项目来创建我自己的(非常基本的)数据绑定

我有一个类字段描述符,它存储关于数据库列的元信息。还有一个类字段表示实际字段,它将包含对其相应字段\描述符类的引用

我被困在两个地方

首先,我需要在FIELD_DESCRIPTOR类中有一个属性,用于存储字段在前端映射到的Windows窗体控件的类型。例如,我需要一个属性,例如,映射的控件类型。我应该能够在这个属性中存储文本框、组合框等。我应该只使用字符串属性并完成它吗?还是有更好的办法?理想情况下,我希望使用某种类型的控件类型枚举

其次,我需要存储它映射到的实际控件字段的引用/句柄。(我想我可以通过在表单上传递实际控件的引用来实现这一点。)

我如何实现这一点?应该使用什么类型的数据类型来定义此属性

(使用.NET3.5,无WPF)

谢谢和问候

首先,我需要在字段\描述符类中有一个属性 存储字段映射到的Windows窗体控件的类型 前端。例如,我需要一个属性,例如,映射的控件类型。 我应该能够存储文本框、组合框等 财产。我应该只使用字符串属性并完成它吗?或 有更好的办法吗?理想情况下,我想使用一些 控件类型的枚举

我想到了完全限定的类型名称,例如System.Windows.Forms.TextBox。这应该是唯一的,如果需要,可以始终用于动态创建

其次,我需要存储实际控件的引用/句柄 它映射到的字段。(我想我可以通过传递推荐信来做到这一点 表单上的实际控件的名称。)


您确实可以使用诸如System.Windows.Forms.Control之类的类型来存储引用。如果您这样做了,请小心不要造成内存泄漏。i、 e.当不再需要控件时,不应再在查找中保留其引用,否则将停止对其进行处理。

Thx@Justin,如何定义此属性的数据类型?System.Windows.Forms.TextBox将是属性中的值。我明白了。属性定义将是什么样子?字符串映射_控制_类型?我认为字符串很好,如果不让生活更艰难,我想不出更好的方法。Thx@Justin. 那我就用绳子。我以为会有一些C#type来存储控件类型。一个类型可以存储为System.type,但这意味着要构建单个System.type实例,这对我来说是一种资源浪费。明白了。谢谢我决定对不同类型的控件使用一个枚举,并为每种类型的控件使用一个简单的int值。看起来比绳子好一点。