ControlPropertyEventsTest.cs 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672
  1. #if NET_2_0
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. using NUnit.Framework;
  6. using System.Drawing;
  7. using System.Windows.Forms;
  8. using System.ComponentModel;
  9. namespace MonoTests.System.Windows.Forms
  10. {
  11. [TestFixture]
  12. public class ControlPropertyEventsTest
  13. {
  14. [Test]
  15. public void PropertyAllowDrop ()
  16. {
  17. Control c = new Control ();
  18. EventWatcher ew = new EventWatcher (c);
  19. c.AllowDrop = true;
  20. Assert.AreEqual (true, c.AllowDrop, "B1");
  21. Assert.AreEqual (string.Empty, ew.ToString (), "B2");
  22. ew.Clear ();
  23. c.AllowDrop = true;
  24. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  25. }
  26. [Test]
  27. public void PropertyAnchor ()
  28. {
  29. Control c = new Control ();
  30. EventWatcher ew = new EventWatcher (c);
  31. c.Anchor = AnchorStyles.Bottom;
  32. Assert.AreEqual (AnchorStyles.Bottom, c.Anchor, "B1");
  33. Assert.AreEqual (string.Empty, ew.ToString (), "B2");
  34. ew.Clear ();
  35. c.Anchor = AnchorStyles.Bottom;
  36. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  37. }
  38. //[Test]
  39. //public void PropertyAutoScrollOffset ()
  40. //{
  41. // Control c = new Control ();
  42. // EventWatcher ew = new EventWatcher (c);
  43. // c.AutoScrollOffset = new Point (45, 45);
  44. // Assert.AreEqual (new Point (45, 45), c.AutoScrollOffset, "B1");
  45. // Assert.AreEqual (string.Empty, ew.ToString (), "B2");
  46. // ew.Clear ();
  47. // c.AutoScrollOffset = new Point (45, 45);
  48. // Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  49. //}
  50. [Test]
  51. public void PropertyAutoSize ()
  52. {
  53. Control c = new Control ();
  54. EventWatcher ew = new EventWatcher (c);
  55. c.AutoSize = true;
  56. Assert.AreEqual (true, c.AutoSize, "B1");
  57. Assert.AreEqual ("AutoSizeChanged", ew.ToString (), "B2");
  58. ew.Clear ();
  59. c.AutoSize = true;
  60. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  61. }
  62. [Test]
  63. public void PropertyBackColor ()
  64. {
  65. Control c = new Control ();
  66. EventWatcher ew = new EventWatcher (c);
  67. c.BackColor = Color.Aquamarine;
  68. Assert.AreEqual (Color.Aquamarine, c.BackColor, "B1");
  69. Assert.AreEqual ("BackColorChanged", ew.ToString (), "B2");
  70. ew.Clear ();
  71. c.BackColor = Color.Aquamarine;
  72. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  73. }
  74. [Test]
  75. public void PropertyBackgroundImage ()
  76. {
  77. Control c = new Control ();
  78. EventWatcher ew = new EventWatcher (c);
  79. Image i = new Bitmap (5, 5);
  80. c.BackgroundImage = i;
  81. Assert.AreSame (i, c.BackgroundImage, "B1");
  82. Assert.AreEqual ("BackgroundImageChanged", ew.ToString (), "B2");
  83. ew.Clear ();
  84. c.BackgroundImage = i;
  85. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  86. }
  87. [Test]
  88. public void PropertyBackgroundImageLayout ()
  89. {
  90. Control c = new Control ();
  91. EventWatcher ew = new EventWatcher (c);
  92. c.BackgroundImageLayout = ImageLayout.Zoom;
  93. Assert.AreEqual (ImageLayout.Zoom, c.BackgroundImageLayout, "B1");
  94. Assert.AreEqual ("BackgroundImageLayoutChanged", ew.ToString (), "B2");
  95. ew.Clear ();
  96. c.BackgroundImageLayout = ImageLayout.Zoom;
  97. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  98. }
  99. [Test]
  100. public void PropertyBindingContext ()
  101. {
  102. Control c = new Control ();
  103. EventWatcher ew = new EventWatcher (c);
  104. BindingContext b = new BindingContext ();
  105. c.BindingContext = b;
  106. Assert.AreSame (b, c.BindingContext, "B1");
  107. Assert.AreEqual ("BindingContextChanged", ew.ToString (), "B2");
  108. c.BindingContext = b;
  109. Assert.AreEqual ("BindingContextChanged", ew.ToString (), "B3");
  110. }
  111. [Test]
  112. public void PropertyBounds ()
  113. {
  114. Control c = new Control ();
  115. EventWatcher ew = new EventWatcher (c);
  116. c.Bounds = new Rectangle (0, 0, 5, 5);
  117. Assert.AreEqual (new Rectangle (0, 0, 5, 5), c.Bounds, "B1");
  118. Assert.AreEqual ("Layout;Resize;SizeChanged;ClientSizeChanged", ew.ToString (), "B2");
  119. ew.Clear ();
  120. c.Bounds = new Rectangle (0, 0, 5, 5);
  121. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  122. }
  123. [Test]
  124. [Ignore ("Setting Capture to true does not hold, getter returns false.")]
  125. public void PropertyCapture ()
  126. {
  127. Control c = new Control ();
  128. EventWatcher ew = new EventWatcher (c);
  129. c.Capture = true;
  130. Assert.AreEqual (true, c.Capture, "B1");
  131. Assert.AreEqual ("HandleCreated", ew.ToString (), "B2");
  132. ew.Clear ();
  133. c.Capture = true;
  134. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  135. }
  136. [Test]
  137. public void PropertyClientSize ()
  138. {
  139. Control c = new Control ();
  140. EventWatcher ew = new EventWatcher (c);
  141. c.ClientSize = new Size (5, 5);
  142. Assert.AreEqual (new Size (5, 5), c.ClientSize, "B1");
  143. Assert.AreEqual ("Layout;Resize;SizeChanged;ClientSizeChanged;ClientSizeChanged", ew.ToString (), "B2");
  144. ew.Clear ();
  145. c.ClientSize = new Size (5, 5);
  146. Assert.AreEqual ("ClientSizeChanged", ew.ToString (), "B3");
  147. }
  148. [Test]
  149. public void PropertyContextMenu ()
  150. {
  151. Control c = new Control ();
  152. EventWatcher ew = new EventWatcher (c);
  153. ContextMenu cm = new ContextMenu ();
  154. c.ContextMenu = cm;
  155. Assert.AreEqual (cm, c.ContextMenu, "B1");
  156. Assert.AreEqual ("ContextMenuChanged", ew.ToString (), "B2");
  157. ew.Clear ();
  158. c.ContextMenu = cm;
  159. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  160. }
  161. [Test]
  162. public void PropertyContextMenuStrip ()
  163. {
  164. Control c = new Control ();
  165. EventWatcher ew = new EventWatcher (c);
  166. ContextMenuStrip cm = new ContextMenuStrip ();
  167. c.ContextMenuStrip = cm;
  168. Assert.AreEqual (cm, c.ContextMenuStrip, "B1");
  169. Assert.AreEqual ("ContextMenuStripChanged", ew.ToString (), "B2");
  170. ew.Clear ();
  171. c.ContextMenuStrip = cm;
  172. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  173. }
  174. [Test]
  175. public void PropertyCursor ()
  176. {
  177. Control c = new Control ();
  178. EventWatcher ew = new EventWatcher (c);
  179. c.Cursor = Cursors.HSplit;
  180. Assert.AreEqual (Cursors.HSplit, c.Cursor, "B1");
  181. Assert.AreEqual ("CursorChanged", ew.ToString (), "B2");
  182. ew.Clear ();
  183. c.Cursor = Cursors.HSplit;
  184. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  185. }
  186. [Test]
  187. public void PropertyDock ()
  188. {
  189. Control c = new Control ();
  190. EventWatcher ew = new EventWatcher (c);
  191. c.Dock = DockStyle.Fill;
  192. Assert.AreEqual (DockStyle.Fill, c.Dock, "B1");
  193. Assert.AreEqual ("DockChanged", ew.ToString (), "B2");
  194. ew.Clear ();
  195. c.Dock = DockStyle.Fill;
  196. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  197. }
  198. [Test]
  199. public void PropertyEnabled ()
  200. {
  201. Control c = new Control ();
  202. EventWatcher ew = new EventWatcher (c);
  203. c.Enabled = false;
  204. Assert.AreEqual (false, c.Enabled, "B1");
  205. Assert.AreEqual ("EnabledChanged", ew.ToString (), "B2");
  206. ew.Clear ();
  207. c.Enabled = false;
  208. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  209. }
  210. [Test]
  211. public void PropertyFont ()
  212. {
  213. Control c = new Control ();
  214. EventWatcher ew = new EventWatcher (c);
  215. Font f = new Font ("Arial", 14);
  216. c.Font = f;
  217. Assert.AreEqual (f, c.Font, "B1");
  218. Assert.AreEqual ("FontChanged;Layout", ew.ToString (), "B2");
  219. ew.Clear ();
  220. c.Font = f;
  221. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  222. }
  223. [Test]
  224. public void PropertyForeColor ()
  225. {
  226. Control c = new Control ();
  227. EventWatcher ew = new EventWatcher (c);
  228. c.ForeColor = Color.Peru;
  229. Assert.AreEqual (Color.Peru, c.ForeColor, "B1");
  230. Assert.AreEqual ("ForeColorChanged", ew.ToString (), "B2");
  231. ew.Clear ();
  232. c.ForeColor = Color.Peru;
  233. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  234. }
  235. [Test]
  236. public void PropertyHeight ()
  237. {
  238. Control c = new Control ();
  239. EventWatcher ew = new EventWatcher (c);
  240. c.Height = 27;
  241. Assert.AreEqual (27, c.Height, "B1");
  242. Assert.AreEqual ("Layout;Resize;SizeChanged;ClientSizeChanged", ew.ToString (), "B2");
  243. ew.Clear ();
  244. c.Height = 27;
  245. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  246. }
  247. [Test]
  248. public void PropertyImeMode ()
  249. {
  250. Control c = new Control ();
  251. EventWatcher ew = new EventWatcher (c);
  252. c.ImeMode = ImeMode.Hiragana;
  253. Assert.AreEqual (ImeMode.Hiragana, c.ImeMode, "B1");
  254. Assert.AreEqual ("ImeModeChanged", ew.ToString (), "B2");
  255. ew.Clear ();
  256. c.ImeMode = ImeMode.Hiragana;
  257. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  258. }
  259. [Test]
  260. public void PropertyLeft ()
  261. {
  262. Control c = new Control ();
  263. EventWatcher ew = new EventWatcher (c);
  264. c.Left = 27;
  265. Assert.AreEqual (27, c.Left, "B1");
  266. Assert.AreEqual ("Move;LocationChanged", ew.ToString (), "B2");
  267. ew.Clear ();
  268. c.Left = 27;
  269. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  270. }
  271. [Test]
  272. public void PropertyLocation ()
  273. {
  274. Control c = new Control ();
  275. EventWatcher ew = new EventWatcher (c);
  276. c.Location = new Point (5, 5);
  277. Assert.AreEqual (new Point (5, 5), c.Location, "B1");
  278. Assert.AreEqual ("Move;LocationChanged", ew.ToString (), "B2");
  279. ew.Clear ();
  280. c.Location = new Point (5, 5);
  281. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  282. }
  283. [Test]
  284. public void PropertyMargin ()
  285. {
  286. Control c = new Control ();
  287. EventWatcher ew = new EventWatcher (c);
  288. c.Margin = new Padding (5);
  289. Assert.AreEqual (new Padding (5), c.Margin, "B1");
  290. Assert.AreEqual ("MarginChanged", ew.ToString (), "B2");
  291. ew.Clear ();
  292. c.Margin = new Padding (5);
  293. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  294. }
  295. [Test]
  296. public void PropertyMaximumSize ()
  297. {
  298. Control c = new Control ();
  299. EventWatcher ew = new EventWatcher (c);
  300. c.MaximumSize = new Size (5, 5);
  301. Assert.AreEqual (new Size (5, 5), c.MaximumSize, "B1");
  302. Assert.AreEqual (string.Empty, ew.ToString (), "B2");
  303. ew.Clear ();
  304. c.MaximumSize = new Size (5, 5);
  305. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  306. }
  307. [Test]
  308. public void PropertyMinimumSize ()
  309. {
  310. Control c = new Control ();
  311. EventWatcher ew = new EventWatcher (c);
  312. c.MinimumSize = new Size (5, 5);
  313. Assert.AreEqual (new Size (5, 5), c.MinimumSize, "B1");
  314. Assert.AreEqual ("Layout;Resize;SizeChanged;ClientSizeChanged", ew.ToString (), "B2");
  315. ew.Clear ();
  316. c.MinimumSize = new Size (5, 5);
  317. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  318. }
  319. [Test]
  320. public void PropertyName ()
  321. {
  322. Control c = new Control ();
  323. EventWatcher ew = new EventWatcher (c);
  324. c.Name = "Bob";
  325. Assert.AreEqual ("Bob", c.Name, "B1");
  326. Assert.AreEqual (string.Empty, ew.ToString (), "B2");
  327. ew.Clear ();
  328. c.Name = "Bob";
  329. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  330. }
  331. [Test]
  332. public void PropertyPadding ()
  333. {
  334. Control c = new Control ();
  335. EventWatcher ew = new EventWatcher (c);
  336. c.Padding = new Padding (5);
  337. Assert.AreEqual (new Padding (5), c.Padding, "B1");
  338. Assert.AreEqual ("PaddingChanged;Layout", ew.ToString (), "B2");
  339. ew.Clear ();
  340. c.Padding = new Padding (5);
  341. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  342. }
  343. [Test]
  344. public void PropertyRegion ()
  345. {
  346. Control c = new Control ();
  347. EventWatcher ew = new EventWatcher (c);
  348. Region r = new Region ();
  349. c.Region = r;
  350. Assert.AreSame (r, c.Region, "B1");
  351. Assert.AreEqual ("RegionChanged", ew.ToString (), "B2");
  352. ew.Clear ();
  353. c.Region = r;
  354. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  355. }
  356. [Test]
  357. public void PropertyRightToLeft ()
  358. {
  359. Control c = new Control ();
  360. EventWatcher ew = new EventWatcher (c);
  361. c.RightToLeft = RightToLeft.Yes;
  362. Assert.AreEqual (RightToLeft.Yes, c.RightToLeft, "B1");
  363. Assert.AreEqual ("RightToLeftChanged;Layout", ew.ToString (), "B2");
  364. ew.Clear ();
  365. c.RightToLeft = RightToLeft.Yes;
  366. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  367. }
  368. [Test]
  369. public void PropertySize ()
  370. {
  371. Control c = new Control ();
  372. EventWatcher ew = new EventWatcher (c);
  373. c.Size = new Size (5, 5);
  374. Assert.AreEqual (new Size (5, 5), c.Size, "B1");
  375. Assert.AreEqual ("Layout;Resize;SizeChanged;ClientSizeChanged", ew.ToString (), "B2");
  376. ew.Clear ();
  377. c.Size = new Size (5, 5);
  378. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  379. }
  380. [Test]
  381. public void PropertyTabIndex ()
  382. {
  383. Control c = new Control ();
  384. EventWatcher ew = new EventWatcher (c);
  385. c.TabIndex = 4;
  386. Assert.AreEqual (4, c.TabIndex, "B1");
  387. Assert.AreEqual ("TabIndexChanged", ew.ToString (), "B2");
  388. ew.Clear ();
  389. c.TabIndex = 4;
  390. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  391. }
  392. [Test]
  393. public void PropertyTabStop ()
  394. {
  395. Control c = new Control ();
  396. EventWatcher ew = new EventWatcher (c);
  397. c.TabStop = false;
  398. Assert.AreEqual (false, c.TabStop, "B1");
  399. Assert.AreEqual ("TabStopChanged", ew.ToString (), "B2");
  400. ew.Clear ();
  401. c.TabStop = false;
  402. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  403. }
  404. [Test]
  405. public void PropertyTag ()
  406. {
  407. Control c = new Control ();
  408. EventWatcher ew = new EventWatcher (c);
  409. Object o = "Hello";
  410. c.Tag = o;
  411. Assert.AreSame (o, c.Tag, "B1");
  412. Assert.AreEqual (string.Empty, ew.ToString (), "B2");
  413. ew.Clear ();
  414. c.Tag = o;
  415. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  416. }
  417. [Test]
  418. public void PropertyText ()
  419. {
  420. Control c = new Control ();
  421. EventWatcher ew = new EventWatcher (c);
  422. c.Text = "Enchilada";
  423. Assert.AreEqual ("Enchilada", c.Text, "B1");
  424. Assert.AreEqual ("TextChanged", ew.ToString (), "B2");
  425. ew.Clear ();
  426. c.Text = "Enchilada";
  427. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  428. }
  429. [Test]
  430. public void PropertyTop ()
  431. {
  432. Control c = new Control ();
  433. EventWatcher ew = new EventWatcher (c);
  434. c.Top = 27;
  435. Assert.AreEqual (27, c.Top, "B1");
  436. Assert.AreEqual ("Move;LocationChanged", ew.ToString (), "B2");
  437. ew.Clear ();
  438. c.Top = 27;
  439. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  440. }
  441. [Test]
  442. public void PropertyVisible ()
  443. {
  444. Control c = new Control ();
  445. EventWatcher ew = new EventWatcher (c);
  446. c.Visible = false;
  447. Assert.AreEqual (false, c.Visible, "B1");
  448. Assert.AreEqual ("VisibleChanged", ew.ToString (), "B2");
  449. ew.Clear ();
  450. c.Visible = false;
  451. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  452. }
  453. [Test]
  454. public void PropertyWidth ()
  455. {
  456. Control c = new Control ();
  457. EventWatcher ew = new EventWatcher (c);
  458. c.Width = 27;
  459. Assert.AreEqual (27, c.Width, "B1");
  460. Assert.AreEqual ("Layout;Resize;SizeChanged;ClientSizeChanged", ew.ToString (), "B2");
  461. ew.Clear ();
  462. c.Width = 27;
  463. Assert.AreEqual (string.Empty, ew.ToString (), "B3");
  464. }
  465. private class EventWatcher
  466. {
  467. private string events = string.Empty;
  468. public EventWatcher (Control c)
  469. {
  470. c.AutoSizeChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("AutoSizeChanged;"); });
  471. c.BackColorChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("BackColorChanged;"); });
  472. c.BackgroundImageChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("BackgroundImageChanged;"); });
  473. c.BackgroundImageLayoutChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("BackgroundImageLayoutChanged;"); });
  474. c.BindingContextChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("BindingContextChanged;"); });
  475. c.CausesValidationChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("CausesValidationChanged;"); });
  476. c.ChangeUICues += new UICuesEventHandler (delegate (Object obj, UICuesEventArgs e) { events += ("ChangeUICues;"); });
  477. c.Click += new EventHandler (delegate (Object obj, EventArgs e) { events += ("Click;"); });
  478. c.ClientSizeChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("ClientSizeChanged;"); });
  479. c.ContextMenuChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("ContextMenuChanged;"); });
  480. c.ContextMenuStripChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("ContextMenuStripChanged;"); });
  481. c.ControlAdded += new ControlEventHandler (delegate (Object obj, ControlEventArgs e) { events += ("ControlAdded;"); });
  482. c.ControlRemoved += new ControlEventHandler (delegate (Object obj, ControlEventArgs e) { events += ("ControlRemoved;"); });
  483. c.CursorChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("CursorChanged;"); });
  484. c.DockChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("DockChanged;"); });
  485. c.DoubleClick += new EventHandler (delegate (Object obj, EventArgs e) { events += ("DoubleClick;"); });
  486. c.DragDrop += new DragEventHandler (delegate (Object obj, DragEventArgs e) { events += ("DragDrop;"); });
  487. c.DragEnter += new DragEventHandler (delegate (Object obj, DragEventArgs e) { events += ("DragEnter;"); });
  488. c.DragLeave += new EventHandler (delegate (Object obj, EventArgs e) { events += ("DragLeave;"); });
  489. c.DragOver += new DragEventHandler (delegate (Object obj, DragEventArgs e) { events += ("DragOver;"); });
  490. c.EnabledChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("EnabledChanged;"); });
  491. c.Enter += new EventHandler (delegate (Object obj, EventArgs e) { events += ("Enter;"); });
  492. c.FontChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("FontChanged;"); });
  493. c.ForeColorChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("ForeColorChanged;"); });
  494. c.GiveFeedback += new GiveFeedbackEventHandler (delegate (Object obj, GiveFeedbackEventArgs e) { events += ("GiveFeedback;"); });
  495. c.GotFocus += new EventHandler (delegate (Object obj, EventArgs e) { events += ("GotFocus;"); });
  496. c.HandleCreated += new EventHandler (delegate (Object obj, EventArgs e) { events += ("HandleCreated;"); });
  497. c.HandleDestroyed += new EventHandler (delegate (Object obj, EventArgs e) { events += ("HandleDestroyed;"); });
  498. c.ImeModeChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("ImeModeChanged;"); });
  499. c.Invalidated += new InvalidateEventHandler (delegate (Object obj, InvalidateEventArgs e) { events += ("Invalidated;"); });
  500. c.KeyDown += new KeyEventHandler (delegate (Object obj, KeyEventArgs e) { events += ("KeyDown;"); });
  501. c.KeyPress += new KeyPressEventHandler (delegate (Object obj, KeyPressEventArgs e) { events += ("KeyPress;"); });
  502. c.KeyUp += new KeyEventHandler (delegate (Object obj, KeyEventArgs e) { events += ("KeyUp;"); });
  503. c.Layout += new LayoutEventHandler (delegate (Object obj, LayoutEventArgs e) { events += ("Layout;"); });
  504. c.Leave += new EventHandler (delegate (Object obj, EventArgs e) { events += ("Leave;"); });
  505. c.LocationChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("LocationChanged;"); });
  506. c.LostFocus += new EventHandler (delegate (Object obj, EventArgs e) { events += ("LostFocus;"); });
  507. c.MarginChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("MarginChanged;"); });
  508. c.MouseCaptureChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("MouseCaptureChanged;"); });
  509. c.MouseClick += new MouseEventHandler (delegate (Object obj, MouseEventArgs e) { events += ("MouseClick;"); });
  510. c.MouseDoubleClick += new MouseEventHandler (delegate (Object obj, MouseEventArgs e) { events += ("MouseDoubleClick;"); });
  511. c.MouseDown += new MouseEventHandler (delegate (Object obj, MouseEventArgs e) { events += ("MouseDown;"); });
  512. c.MouseEnter += new EventHandler (delegate (Object obj, EventArgs e) { events += ("MouseEnter;"); });
  513. c.MouseLeave += new EventHandler (delegate (Object obj, EventArgs e) { events += ("MouseLeave;"); });
  514. c.MouseMove += new MouseEventHandler (delegate (Object obj, MouseEventArgs e) { events += ("MouseMove;"); });
  515. c.MouseUp += new MouseEventHandler (delegate (Object obj, MouseEventArgs e) { events += ("MouseUp;"); });
  516. c.MouseWheel += new MouseEventHandler (delegate (Object obj, MouseEventArgs e) { events += ("MouseWheel;"); });
  517. c.Move += new EventHandler (delegate (Object obj, EventArgs e) { events += ("Move;"); });
  518. c.PaddingChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("PaddingChanged;"); });
  519. c.Paint += new PaintEventHandler (delegate (Object obj, PaintEventArgs e) { events += ("Paint;"); });
  520. c.ParentChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("ParentChanged;"); });
  521. c.PreviewKeyDown += new PreviewKeyDownEventHandler (delegate (Object obj, PreviewKeyDownEventArgs e) { events += ("PreviewKeyDown;"); });
  522. c.QueryAccessibilityHelp += new QueryAccessibilityHelpEventHandler (delegate (Object obj, QueryAccessibilityHelpEventArgs e) { events += ("QueryAccessibilityHelp;"); });
  523. c.QueryContinueDrag += new QueryContinueDragEventHandler (delegate (Object obj, QueryContinueDragEventArgs e) { events += ("QueryContinueDrag;"); });
  524. c.RegionChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("RegionChanged;"); });
  525. c.Resize += new EventHandler (delegate (Object obj, EventArgs e) { events += ("Resize;"); });
  526. c.RightToLeftChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("RightToLeftChanged;"); });
  527. c.SizeChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("SizeChanged;"); });
  528. c.StyleChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("StyleChanged;"); });
  529. c.SystemColorsChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("SystemColorsChanged;"); });
  530. c.TabIndexChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("TabIndexChanged;"); });
  531. c.TabStopChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("TabStopChanged;"); });
  532. c.TextChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("TextChanged;"); });
  533. c.Validated += new EventHandler (delegate (Object obj, EventArgs e) { events += ("Validated;"); });
  534. c.Validating += new CancelEventHandler (delegate (Object obj, CancelEventArgs e) { events += ("Validating;"); });
  535. c.VisibleChanged += new EventHandler (delegate (Object obj, EventArgs e) { events += ("VisibleChanged;"); });
  536. }
  537. public override string ToString ()
  538. {
  539. return events.TrimEnd (';');
  540. }
  541. public void Clear ()
  542. {
  543. events = string.Empty;
  544. }
  545. }
  546. private class ExposeProtectedProperties : Control
  547. {
  548. //public new bool CanRaiseEvents { get { return base.CanRaiseEvents; } }
  549. public new Cursor DefaultCursor { get { return base.DefaultCursor; } }
  550. public new Size DefaultMaximumSize { get { return base.DefaultMaximumSize; } }
  551. public new Size DefaultMinimumSize { get { return base.DefaultMinimumSize; } }
  552. public new Padding DefaultPadding { get { return base.DefaultPadding; } }
  553. }
  554. }
  555. }
  556. #endif