2008-01-22から1日間の記事一覧

__main__

if __name__ == "__main__": form = ButtonMenu_Form() form.Text = form.__class__.__name__ Application.Run(form)

Form1.cs

class ButtonMenu_Form(Form): def __init__(self, **args): self.InitializeComponent() self.init() def init(self): main = MainMenu() self.Menu = main evh = self.commandClick self.btRed.Click += evh file = MenuItem("File") main.MenuItems.Add(f…

FileOpen.cs

class FileOpen(MenuItem, Command): def __init__(self): self.Text = "Open" # base("Open") System.Windows.Forms.MenuItem を拡張しています。 base() に代えて、プロパティー .Text を設定しています。 def Execute(self): fd = OpenFileDialog() fd.Sh…

Command.cs

class Command: # interface Command def Execute(self): raise NotImplementedError("Execute") interface に代えて、例外 NotImplementedError を生成しています。

ButtonMenu_Forms.py

Windows Forms アプリケーションとして、IronPython で実現した事例を紹介します。 # -*- coding: utf-8 -*- #=============================================================================== # Copyright (C) 2000-2008, 小泉ひよ子とタマゴ倶楽部 # # …

《参考文献》

C# Design Patterns 22. The Command Pattern.

RedButton.cs

class RedButton(Button, Command): def Execute(self): c = self.Parent c.BackColor = Color.Red self.BackColor = Color.LightGray System.Windows.Forms.Button を拡張しています。

FileExit.cs

class FileExit(MenuItem, Command): def __init__(self, frm): self.Text = "Exit" # base("Exit") self.form = frm System.Windows.Forms.MenuItem を拡張しています。 base() に代えて、プロパティー .Text を設定しています。 def Execute(self): self.f…

C#.use(better, IronPython="GoF") 《記事一覧》 Bridge〈Windows Forms〉Strategy -- pay a tribute to "C# Design Patterns" by James William Cooper 《著》小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部第1版♪2008/01/15 ● 改訂♪2008/10/08