如何禁用 WinForms DataGrid 中的按钮单元格?

2023-12-28

我有一个 WinForms 应用程序,其中包含一个 DataGridView 控件和一列 DataGridViewButtonCell 单元格。当我单击其中一个按钮时,它会启动一项后台任务,我想禁用这些按钮,直到该任务完成。

我可以禁用 DataGridView 控件,但它没有给出按钮已禁用的视觉指示。我希望用户看到按钮已被禁用,并注意到当按钮再次启用时任务已完成。

允许我单独禁用按钮的方法的奖励积分,这样我就可以在任务运行时保持其中一个按钮处于启用状态。 (请注意,我实际上无法给予奖励积分。)


这是迄今为止我找到的最佳解决方案。这MSDN 文章 http://msdn.microsoft.com/en-us/library/ms171619.aspx给出添加 Enabled 属性的单元类的源代码.

它工作得相当好,但有两个问题:

  1. 在任何单元格上设置 Enabled 属性后,您必须使网格无效。它在示例代码中显示了这一点,但我错过了。
  2. 这只是视觉上的变化,设置 Enabled 属性实际上并不会启用或禁用该按钮。用户仍然可以单击它。我可以在执行单击事件之前检查启用的属性,但当用户单击它时,它似乎也弄乱了外观。相反,我只是禁用了整个网格。这对我来说没问题,但我更喜欢一种允许我禁用某些按钮而不禁用整个网格的方法。

中有一个类似的样本DataGridView 常见问题解答 http://windowsclient.net/downloads/folders/applications/entry1304.aspx.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何禁用 WinForms DataGrid 中的按钮单元格? 的相关文章

随机推荐