|
↓こんなんでええのかの。
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication01
{
// ほげハンドラはobjectとほげイベント引数を引数にとる
public delegate void HogeHandler(object sender, HogeEventArgs e);
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
HogeListener listener = new HogeListener(); // ほげリスナを用意し
Hoge += listener.OnHoge; // ほげリスナのほげハンドラをほげイベントにアタッチ
}
// ほげイベント
public event HogeHandler Hoge;
// ボタン押されたらほげる。
private void button1_Click(object sender, EventArgs e)
{
if ( Hoge != null )
{
Hoge(this, new HogeEventArgs(textBox1.Text)); // ほげっ!
}
}
}
}
// ほげイベント引数
public class HogeEventArgs : EventArgs
{
private string message_;
public HogeEventArgs(string msg)
{
message_ = msg;
}
public string Message
{
get { return message_; }
}
}
// ほげリスナ
public class HogeListener
{
// ほげハンドラ
public void OnHoge(object sender, HogeEventArgs e)
{
Show(e.Message);
}
// メッセージボックスだす
private void Show(string msg)
{
MessageBox.Show("Message = " + msg);
}
}
|