0

このページに含まれる例からコードの一部をコピーし、これらのチュートリアルの助けを借りて鉄の python で実行するように変更しようとしています。しかし、チュートリアルの外に出たときに、どのモジュールをインポートする必要があるのか​​ わからないので、行き詰まっています。

現時点では、次のコードがあります

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

from System.Windows.Forms import Application, Form, Button, Label, DockStyle, AnchorStyles, Panel, Screen, FlowLayoutPanel

class OKWindow(Form):
   def __init__(self,InfoTXT):
      newlines = 0
      screenSize = Screen.GetWorkingArea(self)
      STRwidth = 200
      STRheight = 30
      FORMheight = 160 
      FORMwidth = 300
      self.Text = 'Information'
      self.Height = FORMheight
      self.Width = FORMwidth


      self.flowPanel = FlowLayoutPanel()
      #self.flowPanel.AutoSize = true
      #self.flowPanel.AutoSizeMode = AutoSizeMode.GrowAndShrink
      self.Controls.Add(flowPanel)

      label = Label()
      label.Text = InfoTXT
      label.Top = 30
      label.Left = 50
      label.Height = STRheight
      label.Width = STRwidth

      button = Button()
      button.Text = "OK"
      button.Width = 100
      button.Top = FORMheight - 80
      button.Left = (FORMwidth / 2) - 50
      print button.Anchor
      button.Anchor = AnchorStyles.Bottom

      button.Click += self.buttonPressed

      self.Controls.Add(label)
      self.Controls.Add(button)

   def buttonPressed(self, sender, args):
      Application.Exit()

def information(Message):
   Application.EnableVisualStyles()
   form = OKWindow(Message)
   Application.Run(form)

(注: コードは現在 OCTGN の鉄の python スクリプト エンジン内で実行されているため、正確ではありませんinformation('Important Announcement')

したがって、これを実行しようとするとすぐにコードが中止されself.flowPanel = FlowLayoutPanel()ます。flowPanel の行をコメントアウトすると、Windows フォームは正常に表示されます。

そのため、必要なモジュールを適切にインポートしていないように思えます。残念ながら、何をロードすればよいかわかりません。正しいと思われるものをロードしようとしましたが、どれもうまくいかないようです。

System.Windows.Formsコードで FlowLayoutPanel を作成するために、どのモジュールからインポートするかをどのように判断できますか? そして、一般的に、関連する機能を取得するために何をインポートするかをどのように判断するのでしょうか?

4

2 に答える 2

1

答えは、3 番目のドット「.」の後にあるものであると思われます。System.Windows.Forms で

したがって、System.Windows.Forms.Form を使用するには、Form をインポートする必要があります。

于 2012-09-23T16:41:58.410 に答える