2016-04-07 176 views
0

我有以下代码示例。我正在尝试Iron Python中的OpenFileDialog,但程序只是冻结而不是打开对话窗口。IronPython中的OpenFileDialog

#!/usr/bin/ipy 

import clr 
clr.AddReference("System.Windows.Forms") 
clr.AddReference("System.Drawing") 

from System.Windows.Forms import Application, Form, TextBox 
from System.Windows.Forms import ToolBar, ToolBarButton, OpenFileDialog 
from System.Windows.Forms import DialogResult, ScrollBars, DockStyle 


class IForm(Form): 

    def __init__(self): 
     self.Text = "OpenDialog" 

     toolbar = ToolBar() 
     toolbar.Parent = self 
     openb = ToolBarButton() 


     self.textbox = TextBox() 
     self.textbox.Parent = self 
     self.textbox.Multiline = True 
     self.textbox.ScrollBars = ScrollBars.Both 
     self.textbox.WordWrap = False 
     self.textbox.Parent = self 
     self.textbox.Dock = DockStyle.Fill 


     toolbar.Buttons.Add(openb) 
     toolbar.ButtonClick += self.OnClicked 


     self.CenterToScreen() 

    def OnClicked(self, sender, event): 
     dialog = OpenFileDialog() 
     dialog.Filter = "C# files (*.cs)|*.cs" 

     if dialog.ShowDialog(self) == DialogResult.OK: 
      f = open(dialog.FileName) 
      data = f.read() 
      f.Close() 
      self.textbox.Text = data 


Application.Run(IForm()) 

的代码是从http://zetcode.com/tutorials/ironpythontutorial/dialogs/

我使用IronPython的2.7.5

我在做什么错?而我如何实际上可以OpenFileDialog并读取文件?提前

感谢)

回答

0

因此很明显,所有我与IronPython的烦恼是,因为我有我的电脑上安装了几个Python版本。我删除了所有IronPython,然后将IronPython手动添加到路径中。之后,它开始工作完美,没有崩溃。