只需在 IronPython Studio 中添加一个 datagridview,它就会触发一个“DataGridView”对象没有属性“BeginInit”。有解决办法吗?
如果删除了 self._DataGridView1.BeginInit() 和 self._DataGridView1.EndInit() 行,错误就消失了,但这不是解决该问题的方法
只需在 IronPython Studio 中添加一个 datagridview,它就会触发一个“DataGridView”对象没有属性“BeginInit”。有解决办法吗?
如果删除了 self._DataGridView1.BeginInit() 和 self._DataGridView1.EndInit() 行,错误就消失了,但这不是解决该问题的方法
没有解决方法,也可能没有解决方法,因为 IronPython Studio 不再受支持。DataGridView.BeginInit 是显式实现的,IronPython Studio 基于 IronPython 1.1。在导入 ISupportInitialize 后,您可以通过将其更改为“ISupportInitialize.BeginInit(self._DataGridView1)”来解决它,但我怀疑它是否能在设计器的往返中存活下来。
如果您想自己解决此问题,可以使用 IronPython Studio 的源代码,您可以尝试修改 winforms 设计器代码以注意显式接口实现调用并发出此代码。这可能只是修复 IronPython 的 CodeDom 生成器。
但我真的建议你转向 IronPython 工具和 WPF。使用 IronPython 为 WinForms 设计器生成代码并不能很好地工作,而 WPF 更合适。另一种计划是使用 C# 中的设计器生成 WinForm 并从 Python 子类化它。