ある特定のイベントのイベントハンドラを取得するにはイベントハンドラを格納しているEvents(EventHandlerList型)のインデックスに対象イベントのキーとなるオブジェクトを渡す必要がある。
例えば以下のように取得する。
Delegate handler = Events[key];
Reflectionを使用してイベントハンドラを取得するにはこのキーであるオブジェクトの名前を知る必要がある。
個人的に調べた結果を以下に示すが、ここにないものも、命名には一定の規則が存在するので以下を参考に探ると良いでしょう。
全般
イベント名 |
キー名 |
Click |
EventClick |
TextChanged |
EventText |
FontChanged |
EventFont |
ForeColorChanged |
EventForeColor |
KeyPress |
EventKeyPress |
Resize |
EventResize |
SizeChanged |
EventSize |
Paint |
EventPaint |
MouseDown |
EventMouseDown |
Form
Load |
EVENT_LOAD |
ResizeBegin |
EVENT_RESIZEBEGIN |
FormClosed |
EVENT_FORMCLOSED |
FormClosing |
EVENT_FORMCLOSING |
ToolStripMenuItem
CheckedChanged |
EventCheckedChanged |
CheckStateChanged |
EventCheckStateChanged |
CheckBox
CheckedChanged |
EVENT_CHECKEDCHANGED |
CheckStateChanged |
EVENT_CHECKSTATECHANGED |
ListBox
SelectedIndexChanged |
EVENT_SELECTEDINDEXCHANGED |
SelectedValueChanged |
EVENT_SELECTEDVALUECHANGED |
PictureBox
StyleChanged |
EventStyleChanged |
ComboBox
TextUpdate |
EVENT_TEXTUPDATE |
0 Comments:
コメントを投稿