Winforms 更新和 BindingSource 更新
Winforms Update and BindingSource Update
关于 Winforms 更新的一些问题。
1) 如果我更新一个表单,它是否也会更新它的所有子控件? Microsoft 没有说明任何有关子控件的信息。
2) 控件如何失效?假设我有一个文本更改的标签。这是否意味着如果我调用 Form.Update,标签是否会被视为无效,因此它会被更新(我假设如果 Q1 为真,那么这将成立)?或者我是否需要在标签控件上调用 Invalidate 才能获取更新?
3) 我有一个附加到 BindingSource 的 DatagridView。我注意到即使我没有在表单上明确调用 Update,DatagridView 仍会更新 DatagridView(当我附加新行时)。我想知道是否是 Winforms BindingSources 在后台更新网格的情况?
回答您的问题的关键是了解 WinForm Events
有几种不同类型的事件:
回答您的具体问题:
问:如果我更新一个表单,它是否也会更新它的所有子控件?
答:不会。仅在需要时更新子控件 - 当发生影响该特定控件的更改时。
问:控件如何失效?
答:我想你的意思是"what triggers a control update?"那么答案是"receiving an event that the control is configured to handle."
问:为什么我的 DatagridView 会自动更新? [Did] Winforms BindingSources 在后台更新网格?
答:基本上,"Yes".
查看此处了解更多详情:
建议:
这是一个您可以构建的工作示例,运行 可以更好地理解正在发生的事情 "under the covers":
https://www.codeproject.com/Articles/240221/DataGridView-Event-Sequences
关于 Winforms 更新的一些问题。
1) 如果我更新一个表单,它是否也会更新它的所有子控件? Microsoft 没有说明任何有关子控件的信息。
2) 控件如何失效?假设我有一个文本更改的标签。这是否意味着如果我调用 Form.Update,标签是否会被视为无效,因此它会被更新(我假设如果 Q1 为真,那么这将成立)?或者我是否需要在标签控件上调用 Invalidate 才能获取更新?
3) 我有一个附加到 BindingSource 的 DatagridView。我注意到即使我没有在表单上明确调用 Update,DatagridView 仍会更新 DatagridView(当我附加新行时)。我想知道是否是 Winforms BindingSources 在后台更新网格的情况?
回答您的问题的关键是了解 WinForm Events
有几种不同类型的事件:
回答您的具体问题:
问:如果我更新一个表单,它是否也会更新它的所有子控件?
答:不会。仅在需要时更新子控件 - 当发生影响该特定控件的更改时。
问:控件如何失效?
答:我想你的意思是"what triggers a control update?"那么答案是"receiving an event that the control is configured to handle."
问:为什么我的 DatagridView 会自动更新? [Did] Winforms BindingSources 在后台更新网格?
答:基本上,"Yes".
查看此处了解更多详情:
建议:
这是一个您可以构建的工作示例,运行 可以更好地理解正在发生的事情 "under the covers":
https://www.codeproject.com/Articles/240221/DataGridView-Event-Sequences