有关Winforms更新的一些问题。
1)如果我更新表单,它还会更新其所有子控件吗? Microsoft未声明有关子控件的任何信息。
2)控件如何失效?假设我有一个标签,该标签的文字发生了变化。这是否意味着如果我调用Form.Update,该标签会被视为无效标签,因此会被更新(我假设如果Q1为true,那么它将成立)?还是我需要在标签控件上调用Invalidate才能进行更新?
3)我有一个附加到BindingSource的DatagridView。我注意到,即使我没有在窗体上显式调用Update时,DatagridView仍会更新DatagridView(当我添加新行时)。我想知道Winforms BindingSources是否在后台更新网格?
回答您的问题的关键是了解WinForm Events
有几种不同的有趣事件:
要回答您的特定问题:
问:如果我更新表单,它还会更新其所有子控件吗?答:否。子控件仅在需要时进行更新-发生影响该特定控件的更改。
问:控件如何失效?答:我认为您的意思是“什么触发了控件更新?”然后答案是“正在接收控件配置为处理的事件。
问:为什么我的DatagridView自动更新? [是否] Winforms BindingSources在后台更新了网格?
DataGridView控件支持标准的Windows Forms数据绑定模型,因此它可以绑定到各种数据源。
通常,您绑定到用于管理与数据源交互的BindingSource。 BindingSource可以是任何Windows Forms数据源,这使您在选择或修改数据位置时具有极大的灵活性。 F