C# 数据绑定。添加速度非常慢
我昨天问了一个问题,供参考: 我将一组控件绑定到一个属性类;然而,它确实减慢了应用程序的GUI部分。例如,使用以下代码:C# 数据绑定。添加速度非常慢,c#,.net,winforms,data-binding,C#,.net,Winforms,Data Binding,我昨天问了一个问题,供参考: 我将一组控件绑定到一个属性类;然而,它确实减慢了应用程序的GUI部分。例如,使用以下代码: numericUpDownPhysicalAIs.DataBindings.Add("Value", configurationValues, "PhysicalAIs"); numericUpDownInternalAIs.DataBindings.Add("Value", configurationValues, "InteralAIs")
numericUpDownPhysicalAIs.DataBindings.Add("Value", configurationValues, "PhysicalAIs");
numericUpDownInternalAIs.DataBindings.Add("Value", configurationValues, "InteralAIs");
numericUpDownPhysicalAOs.DataBindings.Add("Value", configurationValues, "PhysicalAOs");
numericUpDownInternalAOs.DataBindings.Add("Value", configurationValues, "InternalAOs");
numericUpDownSetpoints.DataBindings.Add("Value", configurationValues, "Setpoints");
numericUpDownIndexRegisters.DataBindings.Add("Value", configurationValues, "IndexRegisters");
numericUpDownNetworkID.DataBindings.Add("Value", configurationValues, "NetworkID");
numericUpDownQuiescentOperationStartupDelay.DataBindings.Add("Value", configurationValues, "QuiescentOperationStartupDelay");
numericUpDownQuiescentTelemetryTable.DataBindings.Add("Value", configurationValues, "QuiescentTelemetryTableScanRate");
numericUpDownPercentQuiescentThreshold.DataBindings.Add("Value", configurationValues, "PercentQuiescentThreshold");
numericUpDownPercentageOfQuiescentInterval.DataBindings.Add("Value", configurationValues, "PercentQuiescentInterval");
numericUpDownAODayWeek.DataBindings.Add("Value", configurationValues, "AODayWeek");
numericUpDownAODayMonth.DataBindings.Add("Value", configurationValues, "AODayMonth");
numericUpDownAOMonthYear.DataBindings.Add("Value", configurationValues, "AOMonthYear");
numericUpDownAOYear.DataBindings.Add("Value", configurationValues, "AOYear");
numericUpDownTimeDay.DataBindings.Add("Value", configurationValues, "TimeDay");
numericUpDownDebugStatementNumberSetpoint.DataBindings.Add("Value", configurationValues, "DebugStatementNumberSetpoint");
numericUpDownTelemetryControlSetpoint.DataBindings.Add("Value", configurationValues, "TelemetryControlSetpoint");
numericUpDownCommunicationFailDI.DataBindings.Add("Value", configurationValues, "CommunicationFailDI");
numericUpDownCommunicationFailAddressAO.DataBindings.Add("Value", configurationValues, "CommunicationFailAddressAO");
numericUpDownAddressUnreachableAO.DataBindings.Add("Value", configurationValues, "AddressUnreachableUnitAO");
numericUpDownPowerCountAO.DataBindings.Add("Value", configurationValues, "PowerCountAO");
numericUpDownResetCountAO.DataBindings.Add("Value", configurationValues, "ResetCountAO");
numericUpDownRandomNumberAO.DataBindings.Add("Value", configurationValues, "RandomNumberAO");
表单显示所有数字向上/向下框需要30秒到一分钟的时间。如果我注释掉这段代码,GUI会立即弹出。这是DataBindings.Add方法的限制吗
谢谢检查此项是否尝试禁用绘制(覆盖OnPaint,绑定时不执行任何操作)?停止绘制操作,如ralf.w。建议可以加快速度,但我相信这里的根本问题是数据绑定使用反射,这本身就很慢。感谢所有的回复。经过一番思考,这可能不是我解决这个问题的最佳方式。虽然数据绑定可能会让事情变得更简单,但如果我走这条路的话,让它工作起来似乎是件大事。