Események
Egy egyszerű példán keresztül megmutatjuk, hogy hogyan lehet eseményeket definiálni egy winform osztályhoz.
Ehhez először is szükséges a "System.Windows.Forms" modul betöltése, majd a saját form osztályunknak a "Form" osztályból kell származnia.
Ez lehetővé teszi számunkra, hogy különböző eseményeket adjunk hozzá az osztályunkhoz, amelyek "protected"-ként lesznek deklarálva.
>>> require "System.Windows.Forms"
=> true
>>> include System::Windows::Forms
=> Object
>>> class RForm < Form
>>> end
=> nil
>>> f = RForm.new
=> IronRuby.Classes.Form$1, Text:
Az események beállításához a "procs"-t kell meghívni, majd és hozzá kell kapcsolni egy névhez, így tudunk hozzáadni, és eltávolítani eseményeket.
>>> ome = proc {|sender, e| puts "Enter"}
=> #(Proc:0x0@)
>>> oml = proc {|sender, e| puts "Leave"}
=> #(Proc:0x1@)
>>> f.mouse_enter(&ome)
=> #(Proc:0x0@)
>>> f.mouse_leave(&oml)
=> #(Proc:0x1@)
A programunk indítása:
>>> Application.run(f)
Az "on_mouse_enter" és az "on_mouse_leave" eseményeket definiáltuk, ha meghívódnak, akkor egy form ablakban jeleníti meg a beállított szöveget.