通过在IronPython Studio中添加datagridview,它会触发一个 “DataGridView”对象没有属性'BeginInit'“。有没有解决这个问题?
如果删除了self._DataGridView1.BeginInit()和self._DataGridView1.EndInit()这些行,那么错误就会消失,但这不是解决问题的方法
答案 0 :(得分:2)
对此没有任何解决方法,因为不再支持IronPython Studio,所以可能没有。 DataGridView.BeginInit是显式实现的,IronPython Studio基于IronPython 1.1。您可以通过在导入ISupportInitialize之后将其更改为“ISupportInitialize.BeginInit(self._DataGridView1)”来解决此问题,但我怀疑它是否会在设计器中绊倒后继续存在。
如果您想自己修复此问题,可以使用IronPython Studio的源代码,您可以尝试修改winforms设计器代码以注意显式接口实现调用并发出此代码。这可能只是修复了IronPython的CodeDom生成器。
但是我真的建议你转到IronPython Tools和WPF。为WinForms设计器生成代码并不能很好地与IronPython一起工作,WPF更适合。另一个计划是在C#中使用设计器生成WinForm,并从Python继承它。