jjzjj

ComponentModel

全部标签

c# - 如何在 C# 中实现取消事件

我知道在C#中,有几个传递参数(“Cancel”)的内置事件,如果设置为true将停止在引发事件的对象中进一步执行。您将如何实现引发对象能够跟踪EventArgs中的属性的事件?这是我正在尝试执行的操作的WinForms示例:http://msdn.microsoft.com/en-us/library/system.componentmodel.canceleventargs.cancel.aspx谢谢。 最佳答案 这真的很容易。privateevent_myEvent;//...//CreatetheeventargsCance

c# - 如何在 C# 中实现取消事件

我知道在C#中,有几个传递参数(“Cancel”)的内置事件,如果设置为true将停止在引发事件的对象中进一步执行。您将如何实现引发对象能够跟踪EventArgs中的属性的事件?这是我正在尝试执行的操作的WinForms示例:http://msdn.microsoft.com/en-us/library/system.componentmodel.canceleventargs.cancel.aspx谢谢。 最佳答案 这真的很容易。privateevent_myEvent;//...//CreatetheeventargsCance

c# - BindingList<> ListChanged 事件

我有一个类的BindingList设置为BindingSource的DataSource属性,而BindingSource又设置为DataGridView的DataSource属性。1.据我了解,列表中的任何添加都会触发一个ListChanged事件,该事件将通过BindingSource传播,然后传播到DataGridView,DataGridView将自行更新以显示更改。这会发生,因为事件已经自动连接。(是吗?)当所有工作都在UI线程上完成时,这一切都很好,但是当从非UI线程创建和更改列表时,最终会在更新网格时发生跨线程异常。我能理解为什么会发生这种情况,但不知道如何解决...2。

c# - BindingList<> ListChanged 事件

我有一个类的BindingList设置为BindingSource的DataSource属性,而BindingSource又设置为DataGridView的DataSource属性。1.据我了解,列表中的任何添加都会触发一个ListChanged事件,该事件将通过BindingSource传播,然后传播到DataGridView,DataGridView将自行更新以显示更改。这会发生,因为事件已经自动连接。(是吗?)当所有工作都在UI线程上完成时,这一切都很好,但是当从非UI线程创建和更改列表时,最终会在更新网格时发生跨线程异常。我能理解为什么会发生这种情况,但不知道如何解决...2。

c# - 为什么我不能引用 System.ComponentModel.DataAnnotations?

我正在尝试在我的WPF项目中使用DataAnnotations来指定字符串的最大长度,如下所示:usingSystem.ComponentModel.DataAnnotations;但是,我得到了错误Thetypeornamespacename'DataAnnotations'doesnotexistinthenamespace'System.ComponentModel'(areyoumissinganassemblyreference?)我见过其他示例,其中DataAnnotations确实存在于此命名空间中。我正在使用C#4。我有什么理由不能使用它吗?我该怎么做才能修复它?

c# - 为什么我不能引用 System.ComponentModel.DataAnnotations?

我正在尝试在我的WPF项目中使用DataAnnotations来指定字符串的最大长度,如下所示:usingSystem.ComponentModel.DataAnnotations;但是,我得到了错误Thetypeornamespacename'DataAnnotations'doesnotexistinthenamespace'System.ComponentModel'(areyoumissinganassemblyreference?)我见过其他示例,其中DataAnnotations确实存在于此命名空间中。我正在使用C#4。我有什么理由不能使用它吗?我该怎么做才能修复它?

c# - 可移植类库中的 System.ComponentModel.DescriptionAttribute

我在枚举中使用Description属性为枚举字段提供用户友好的名称。例如publicenumInstallationType{[Description("ForwardofBulkHead")]FORWARD=0,[Description("RearofBulkHead")]REAR=1,[Description("RoofMounted")]ROOF=2,}使用一个很好的辅助方法可以很容易地访问它:publicstaticstringGetDescriptionFromEnumValue(Enumvalue){DescriptionAttributeattribute=value.

c# - ComponentModel 反射(例如 PropertyDescriptor)和标准反射(例如 PropertyInfo)之间的区别?

你可以用它们做的事情有明显的重叠。ComponentModel反射只是在System.Reflection之上更友好一点的层吗? 最佳答案 不-还有更多。ComponentModel允许您做一些DLR类型的事情,例如运行时属性。这就是DataView向网格公开列的方式——它们不是反射属性——它们是运行时属性。此处的关键字是ICustomTypeDescriptor和TypeDescriptionProvider。此模型还允许抽象和间接。例如,如果您正在对属性进行大量反射(reflection),请考虑HyperDescriptor-

c# - 在 System.ComponentModel 默认值属性中将 DateTime 属性的默认值设置为 DateTime.Now

有人知道如何使用System.ComponentModelDefaultValue属性指定DateTime属性的默认值吗?例如我试试这个:[DefaultValue(typeof(DateTime),DateTime.Now.ToString("yyyy-MM-dd"))]publicDateTimeDateCreated{get;set;}它期望值是一个常量表达式。这是在使用ASP.NET动态数据的上下文中。我不想搭建DateCreated列的脚手架,而只是提供DateTime.Now(如果它不存在)。我使用EntityFramework作为我的数据层干杯,安德鲁
12