MdiFormHandleTest.cs 46 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555
  1. //
  2. // FormTest.cs: Test cases for Form.
  3. //
  4. // Author:
  5. // Ritvik Mayank ([email protected])
  6. //
  7. // (C) 2005 Novell, Inc. (http://www.novell.com)
  8. //
  9. using System;
  10. using System.ComponentModel;
  11. using System.Drawing;
  12. using System.Reflection;
  13. using System.Windows.Forms;
  14. using NUnit.Framework;
  15. using CategoryAttribute = NUnit.Framework.CategoryAttribute;
  16. namespace MonoTests.System.Windows.Forms
  17. {
  18. [TestFixture]
  19. public class MdiFormHandleTest
  20. {
  21. private ProtectedForm main;
  22. private ProtectedForm child1;
  23. private ProtectedForm child2;
  24. [TearDown]
  25. public void TearDown ()
  26. {
  27. if (main != null) {
  28. main.Dispose ();
  29. main = null;
  30. }
  31. if (child1 != null) {
  32. child1.Dispose ();
  33. child1 = null;
  34. }
  35. if (child2 != null) {
  36. child2.Dispose ();
  37. child2 = null;
  38. }
  39. }
  40. public void SetUp ()
  41. {
  42. TearDown ();
  43. main = new ProtectedForm ();
  44. main.IsMdiContainer = true;
  45. main.ShowInTaskbar = false;
  46. child1 = new ProtectedForm ();
  47. child1.MdiParent = main;
  48. child2 = new ProtectedForm ();
  49. child2.MdiParent = main;
  50. main.Show ();
  51. }
  52. [Test]
  53. public void TestPublicProperties ()
  54. {
  55. // This long, carpal-tunnel syndrome inducing test shows us that
  56. // the following properties cause the Handle to be created:
  57. // - AccessibilityObject [get]
  58. // - Capture [set]
  59. // - Handle [get]
  60. // - Visible [set]
  61. // A
  62. SetUp ();
  63. object o = child1.AccessibilityObject;
  64. Assert.IsTrue (child1.IsHandleCreated, "A0");
  65. SetUp ();
  66. o = child1.AccessibleDefaultActionDescription;
  67. child1.AccessibleDefaultActionDescription = "playdoh";
  68. Assert.IsFalse (child1.IsHandleCreated, "A1");
  69. SetUp ();
  70. o = child1.AccessibleDescription;
  71. child1.AccessibleDescription = "more playdoh!";
  72. Assert.IsFalse (child1.IsHandleCreated, "A2");
  73. SetUp ();
  74. o = child1.AccessibleName;
  75. child1.AccessibleName = "playdoh fun factory";
  76. Assert.IsFalse (child1.IsHandleCreated, "A3");
  77. SetUp ();
  78. o = child1.AccessibleRole;
  79. child1.AccessibleRole = AccessibleRole.Border;
  80. Assert.IsFalse (child1.IsHandleCreated, "A4");
  81. SetUp ();
  82. o = child1.AllowDrop;
  83. child1.AllowDrop = true;
  84. Assert.IsFalse (child1.IsHandleCreated, "A5");
  85. // If we don't reset the control, handle creation will fail
  86. // because AllowDrop requires STAThread, which Nunit doesn't do
  87. SetUp ();
  88. o = child1.Anchor;
  89. child1.Anchor = AnchorStyles.Right;
  90. Assert.IsFalse (child1.IsHandleCreated, "A6");
  91. #if !__MonoCS__ && NET_2_0
  92. SetUp ();
  93. o = child1.AutoScrollOffset;
  94. child1.AutoScrollOffset = new Point (40, 40);
  95. Assert.IsFalse (child1.IsHandleCreated, "A7");
  96. #endif
  97. #if NET_2_0
  98. SetUp ();
  99. o = child1.AutoSize;
  100. child1.AutoSize = true;
  101. Assert.IsFalse (child1.IsHandleCreated, "A8");
  102. #endif
  103. // A - Form
  104. SetUp ();
  105. o = child1.AcceptButton;
  106. child1.AcceptButton = null;
  107. Assert.IsFalse (child1.IsHandleCreated, "FA1");
  108. SetUp ();
  109. o = child1.ActiveControl;
  110. child1.ActiveControl = null;
  111. Assert.IsFalse (child1.IsHandleCreated, "FA2");
  112. SetUp ();
  113. o = child1.ActiveMdiChild;
  114. Assert.IsFalse (child1.IsHandleCreated, "FA3");
  115. SetUp ();
  116. o = child1.AllowTransparency;
  117. child1.AllowTransparency = !child1.AllowTransparency;
  118. Assert.IsFalse (child1.IsHandleCreated, "FA4");
  119. #if NET_2_0
  120. SetUp ();
  121. o = child1.AutoScaleDimensions;
  122. child1.AutoScaleDimensions = SizeF.Empty;
  123. Assert.IsFalse (child1.IsHandleCreated, "FA5");
  124. SetUp ();
  125. o = child1.AutoScaleMode;
  126. child1.AutoScaleMode = AutoScaleMode.Dpi;
  127. Assert.IsFalse (child1.IsHandleCreated, "FA6");
  128. #endif
  129. SetUp ();
  130. o = child1.AutoScroll;
  131. child1.AutoScroll = !child1.AutoScroll;
  132. Assert.IsFalse (child1.IsHandleCreated, "FA7");
  133. SetUp ();
  134. o = child1.AutoScrollMargin;
  135. child1.AutoScrollMargin = new Size (child1.AutoScrollMargin.Width + 1, child1.AutoScrollMargin.Height + 1);
  136. Assert.IsFalse (child1.IsHandleCreated, "FA8");
  137. SetUp ();
  138. o = child1.AutoScrollMinSize;
  139. child1.AutoScrollMinSize = new Size (child1.AutoScrollMinSize.Width + 1, child1.AutoScrollMinSize.Height + 1);
  140. Assert.IsFalse (child1.IsHandleCreated, "FA9");
  141. #if NET_2_0 && !__MonoCS__
  142. SetUp ();
  143. o = child1.AutoScrollOffset;
  144. child1.AutoScrollOffset = new Point (child1.AutoScrollOffset.X + 1, child1.AutoScrollOffset.Y + 1);
  145. Assert.IsFalse (child1.IsHandleCreated, "FA10");
  146. #endif
  147. SetUp ();
  148. o = child1.AutoScrollPosition;
  149. child1.AutoScrollPosition = new Point (child1.AutoScrollPosition.X + 1, child1.AutoScrollPosition.Y + 1);
  150. Assert.IsFalse (child1.IsHandleCreated, "FA11");
  151. #if NET_2_0
  152. SetUp ();
  153. o = child1.AutoSize;
  154. child1.AutoSize = !child1.AutoSize;
  155. Assert.IsFalse (child1.IsHandleCreated, "FA12");
  156. #if !__MonoCS__
  157. SetUp ();
  158. o = child1.AutoSizeMode;
  159. child1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
  160. Assert.IsFalse (child1.IsHandleCreated, "FA13");
  161. #endif
  162. SetUp ();
  163. o = child1.AutoValidate;
  164. child1.AutoValidate = AutoValidate.EnableAllowFocusChange;
  165. Assert.IsFalse (child1.IsHandleCreated, "FA14");
  166. #endif
  167. // B
  168. SetUp ();
  169. o = child1.BackColor;
  170. child1.BackColor = Color.Green;
  171. Assert.IsFalse (child1.IsHandleCreated, "A9");
  172. SetUp ();
  173. o = child1.BackgroundImage;
  174. child1.BackgroundImage = new Bitmap (1, 1);
  175. Assert.IsFalse (child1.IsHandleCreated, "A10");
  176. #if NET_2_0
  177. SetUp ();
  178. o = child1.BackgroundImageLayout;
  179. child1.BackgroundImageLayout = ImageLayout.Stretch;
  180. Assert.IsFalse (child1.IsHandleCreated, "A11");
  181. #endif
  182. SetUp ();
  183. o = child1.BindingContext;
  184. child1.BindingContext = new BindingContext ();
  185. Assert.IsFalse (child1.IsHandleCreated, "A12");
  186. SetUp ();
  187. o = child1.Bottom;
  188. Assert.IsFalse (child1.IsHandleCreated, "A13");
  189. SetUp ();
  190. o = child1.Bounds;
  191. child1.Bounds = new Rectangle (0, 0, 12, 12);
  192. Assert.IsFalse (child1.IsHandleCreated, "A14");
  193. // B - Form
  194. SetUp ();
  195. o = child1.BindingContext;
  196. child1.BindingContext = null;
  197. Assert.IsFalse (child1.IsHandleCreated, "FB1");
  198. // C
  199. SetUp ();
  200. o = child1.CanFocus;
  201. Assert.IsFalse (child1.IsHandleCreated, "A15");
  202. SetUp ();
  203. o = child1.CanSelect;
  204. Assert.IsFalse (child1.IsHandleCreated, "A16");
  205. SetUp ();
  206. o = child1.Capture;
  207. Assert.IsFalse (child1.IsHandleCreated, "A17a");
  208. SetUp ();
  209. child1.Capture = true;
  210. Assert.IsTrue (child1.IsHandleCreated, "A17b");
  211. SetUp ();
  212. o = child1.CausesValidation;
  213. child1.CausesValidation = false;
  214. Assert.IsFalse (child1.IsHandleCreated, "A18");
  215. SetUp ();
  216. o = child1.ClientRectangle;
  217. Assert.IsFalse (child1.IsHandleCreated, "A19");
  218. SetUp ();
  219. o = child1.ClientSize;
  220. child1.ClientSize = new Size (30, 30);
  221. Assert.IsFalse (child1.IsHandleCreated, "A20");
  222. SetUp ();
  223. o = child1.CompanyName;
  224. Assert.IsFalse (child1.IsHandleCreated, "A21");
  225. SetUp ();
  226. o = child1.Container;
  227. Assert.IsFalse (child1.IsHandleCreated, "A22");
  228. SetUp ();
  229. o = child1.ContainsFocus;
  230. Assert.IsFalse (child1.IsHandleCreated, "A23");
  231. SetUp ();
  232. o = child1.ContextMenu;
  233. child1.ContextMenu = new ContextMenu ();
  234. Assert.IsFalse (child1.IsHandleCreated, "A24");
  235. #if NET_2_0
  236. SetUp ();
  237. o = child1.ContextMenuStrip;
  238. child1.ContextMenuStrip = new ContextMenuStrip ();
  239. Assert.IsFalse (child1.IsHandleCreated, "A25");
  240. #endif
  241. SetUp ();
  242. o = child1.Controls;
  243. Assert.IsFalse (child1.IsHandleCreated, "A26");
  244. SetUp ();
  245. o = child1.Created;
  246. Assert.IsFalse (child1.IsHandleCreated, "A27");
  247. SetUp ();
  248. o = child1.Cursor;
  249. child1.Cursor = Cursors.Arrow;
  250. Assert.IsFalse (child1.IsHandleCreated, "A28");
  251. // C - Form
  252. SetUp ();
  253. o = child1.CancelButton;
  254. child1.CancelButton = null;
  255. Assert.IsFalse (child1.IsHandleCreated, "FC1");
  256. SetUp ();
  257. o = child1.ClientSize;
  258. child1.ClientSize = new Size (child1.ClientSize.Width + 1, child1.ClientSize.Height + 1);
  259. Assert.IsFalse (child1.IsHandleCreated, "FC2");
  260. SetUp ();
  261. o = child1.Container;
  262. Assert.IsFalse (child1.IsHandleCreated, "FC3");
  263. SetUp ();
  264. o = child1.ControlBox;
  265. child1.ControlBox = !child1.ControlBox;
  266. Assert.IsFalse (child1.IsHandleCreated, "FC4");
  267. #if NET_2_0
  268. SetUp ();
  269. o = child1.CurrentAutoScaleDimensions;
  270. Assert.IsFalse (child1.IsHandleCreated, "FC5");
  271. #endif
  272. // D
  273. SetUp ();
  274. o = child1.DataBindings;
  275. Assert.IsFalse (child1.IsHandleCreated, "A29");
  276. SetUp ();
  277. o = child1.DisplayRectangle;
  278. Assert.IsFalse (child1.IsHandleCreated, "A30");
  279. SetUp ();
  280. o = child1.Disposing;
  281. Assert.IsFalse (child1.IsHandleCreated, "A31");
  282. SetUp ();
  283. o = child1.Dock;
  284. child1.Dock = DockStyle.Fill;
  285. Assert.IsFalse (child1.IsHandleCreated, "A32");
  286. // D - Form
  287. SetUp ();
  288. o = child1.DataBindings;
  289. Assert.IsFalse (child1.IsHandleCreated, "FD6");
  290. SetUp ();
  291. o = child1.DesktopBounds;
  292. child1.DesktopBounds = new Rectangle (3, 5, child1.DesktopBounds.Width + 1, child1.DesktopBounds.Height + 1);
  293. Assert.IsFalse (child1.IsHandleCreated, "FD7");
  294. SetUp ();
  295. o = child1.DesktopLocation;
  296. child1.DesktopLocation = child1.DesktopLocation + new Size (1, 1);
  297. Assert.IsFalse (child1.IsHandleCreated, "FD8");
  298. SetUp ();
  299. o = child1.DialogResult;
  300. child1.DialogResult = DialogResult.Abort;
  301. Assert.IsFalse (child1.IsHandleCreated, "FD9");
  302. SetUp ();
  303. o = child1.DisplayRectangle;
  304. Assert.IsFalse (child1.IsHandleCreated, "FD10");
  305. SetUp ();
  306. o = child1.Disposing;
  307. Assert.IsFalse (child1.IsHandleCreated, "FD11");
  308. SetUp ();
  309. o = child1.Dock;
  310. child1.Dock = DockStyle.Right;
  311. Assert.IsFalse (child1.IsHandleCreated, "FD12");
  312. // E-H
  313. SetUp ();
  314. o = child1.Enabled;
  315. child1.Enabled = false;
  316. Assert.IsFalse (child1.IsHandleCreated, "A33");
  317. SetUp ();
  318. o = child1.Focused;
  319. Assert.IsFalse (child1.IsHandleCreated, "A34");
  320. SetUp ();
  321. o = child1.Font;
  322. child1.Font = new Font (child1.Font, FontStyle.Bold);
  323. Assert.IsFalse (child1.IsHandleCreated, "A35");
  324. SetUp ();
  325. o = child1.ForeColor;
  326. child1.ForeColor = Color.Green;
  327. Assert.IsFalse (child1.IsHandleCreated, "A36");
  328. SetUp ();
  329. o = child1.Handle;
  330. Assert.IsTrue (child1.IsHandleCreated, "A37");
  331. SetUp ();
  332. o = child1.HasChildren;
  333. Assert.IsFalse (child1.IsHandleCreated, "A38");
  334. SetUp ();
  335. o = child1.Height;
  336. child1.Height = 12;
  337. Assert.IsFalse (child1.IsHandleCreated, "A39");
  338. // E-H - Form
  339. SetUp ();
  340. o = child1.FormBorderStyle;
  341. child1.FormBorderStyle = FormBorderStyle.FixedToolWindow;
  342. Assert.IsFalse (child1.IsHandleCreated, "FF1");
  343. SetUp ();
  344. o = child1.HelpButton;
  345. child1.HelpButton = !child1.HelpButton;
  346. Assert.IsFalse (child1.IsHandleCreated, "FH1");
  347. #if NET_2_0 && !__MonoCS__
  348. SetUp ();
  349. o = child1.HorizontalScroll;
  350. Assert.IsFalse (child1.IsHandleCreated, "FH2");
  351. #endif
  352. // I - L
  353. SetUp ();
  354. child1.ImeMode = ImeMode.On;
  355. Assert.IsFalse (child1.IsHandleCreated, "A40");
  356. SetUp ();
  357. o = child1.InvokeRequired;
  358. Assert.IsFalse (child1.IsHandleCreated, "A41");
  359. SetUp ();
  360. o = child1.IsAccessible;
  361. Assert.IsFalse (child1.IsHandleCreated, "A42");
  362. SetUp ();
  363. o = child1.IsDisposed;
  364. Assert.IsFalse (child1.IsHandleCreated, "A43");
  365. #if !__MonoCS__ && NET_2_0
  366. SetUp ();
  367. o = child1.IsMirrored;
  368. Assert.IsFalse (child1.IsHandleCreated, "A44");
  369. #endif
  370. #if NET_2_0
  371. SetUp ();
  372. o = child1.LayoutEngine;
  373. Assert.IsFalse (child1.IsHandleCreated, "A45");
  374. #endif
  375. SetUp ();
  376. o = child1.Left;
  377. child1.Left = 15;
  378. Assert.IsFalse (child1.IsHandleCreated, "A46");
  379. SetUp ();
  380. o = child1.Location;
  381. child1.Location = new Point (20, 20);
  382. Assert.IsFalse (child1.IsHandleCreated, "A47");
  383. // I - L - Form
  384. SetUp ();
  385. o = child1.Icon;
  386. child1.Icon = null;
  387. Assert.IsFalse (child1.IsHandleCreated, "FI1");
  388. SetUp ();
  389. o = child1.IsMdiChild;
  390. Assert.IsFalse (child1.IsHandleCreated, "FI2");
  391. SetUp ();
  392. o = child1.IsMdiContainer;
  393. child1.IsMdiContainer = false;
  394. Assert.IsFalse (child1.IsHandleCreated, "FI3");
  395. SetUp ();
  396. o = child1.IsRestrictedWindow;
  397. Assert.IsFalse (child1.IsHandleCreated, "FI4");
  398. SetUp ();
  399. o = child1.KeyPreview;
  400. child1.KeyPreview = !child1.KeyPreview;
  401. Assert.IsFalse (child1.IsHandleCreated, "FK1");
  402. SetUp ();
  403. o = child1.Location;
  404. child1.Location = child1.Location + new Size (1, 1);
  405. Assert.IsFalse (child1.IsHandleCreated, "FL1");
  406. // M - N
  407. #if NET_2_0
  408. SetUp ();
  409. o = child1.Margin;
  410. child1.Margin = new Padding (6);
  411. Assert.IsFalse (child1.IsHandleCreated, "A48");
  412. SetUp ();
  413. o = child1.MaximumSize;
  414. child1.MaximumSize = new Size (500, 500);
  415. Assert.IsFalse (child1.IsHandleCreated, "A49");
  416. SetUp ();
  417. o = child1.MinimumSize;
  418. child1.MinimumSize = new Size (100, 100);
  419. Assert.IsFalse (child1.IsHandleCreated, "A50");
  420. #endif
  421. SetUp ();
  422. o = child1.Name;
  423. child1.Name = "web";
  424. Assert.IsFalse (child1.IsHandleCreated, "A51");
  425. #if NET_2_0
  426. // M - O - Form
  427. SetUp ();
  428. o = child1.MainMenuStrip;
  429. child1.MainMenuStrip = null;
  430. Assert.IsFalse (child1.IsHandleCreated, "FM1");
  431. #endif
  432. SetUp ();
  433. o = child1.MaximizeBox;
  434. child1.MaximizeBox = !child1.MaximizeBox;
  435. Assert.IsFalse (child1.IsHandleCreated, "FM2");
  436. SetUp ();
  437. o = child1.MaximumSize;
  438. child1.MaximumSize = child1.MaximumSize + new Size (1, 1);
  439. Assert.IsFalse (child1.IsHandleCreated, "FM3");
  440. SetUp ();
  441. o = child1.MdiChildren;
  442. Assert.IsFalse (child1.IsHandleCreated, "FM4");
  443. SetUp ();
  444. o = child1.MdiParent;
  445. child1.MdiParent = null;
  446. Assert.IsFalse (child1.IsHandleCreated, "FM5");
  447. SetUp ();
  448. o = child1.Menu;
  449. child1.Menu = null;
  450. Assert.IsFalse (child1.IsHandleCreated, "FM6");
  451. SetUp ();
  452. o = child1.MergedMenu;
  453. Assert.IsFalse (child1.IsHandleCreated, "FM7");
  454. SetUp ();
  455. o = child1.MinimizeBox;
  456. child1.MinimizeBox = !child1.MinimizeBox;
  457. Assert.IsFalse (child1.IsHandleCreated, "FM8");
  458. SetUp ();
  459. o = child1.MinimumSize;
  460. child1.MinimumSize = child1.MinimumSize + new Size (1, 1);
  461. Assert.IsFalse (child1.IsHandleCreated, "FM9");
  462. SetUp ();
  463. o = child1.Modal;
  464. Assert.IsFalse (child1.IsHandleCreated, "FM10");
  465. SetUp ();
  466. o = child1.Opacity;
  467. child1.Opacity = 0.9;
  468. Assert.IsFalse (child1.IsHandleCreated, "FO1");
  469. SetUp ();
  470. o = child1.OwnedForms;
  471. Assert.IsFalse (child1.IsHandleCreated, "FO2");
  472. SetUp ();
  473. o = child1.Owner;
  474. child1.Owner = null;
  475. Assert.IsFalse (child1.IsHandleCreated, "FO3");
  476. // P - R
  477. #if NET_2_0
  478. SetUp ();
  479. o = child1.Padding;
  480. child1.Padding = new Padding (4);
  481. Assert.IsFalse (child1.IsHandleCreated, "A52");
  482. #endif
  483. try {
  484. SetUp ();
  485. o = child1.Parent;
  486. child1.TopLevel = false;
  487. child1.Parent = new Form ();
  488. Assert.Fail ("A53 - Expected ArgumentException, got no exception");
  489. } catch (ArgumentException ex) {
  490. TestHelper.RemoveWarning (ex);
  491. } catch (Exception ex) {
  492. Assert.Fail ("A53 - Expected ArgumentException, got " + ex.GetType ().Name);
  493. } finally {
  494. Assert.IsFalse (child1.IsHandleCreated, "A53");
  495. }
  496. #if NET_2_0
  497. SetUp ();
  498. o = child1.PreferredSize;
  499. Assert.IsFalse (child1.IsHandleCreated, "A54");
  500. #endif
  501. SetUp ();
  502. o = child1.ProductName;
  503. Assert.IsFalse (child1.IsHandleCreated, "A55");
  504. SetUp ();
  505. o = child1.ProductVersion;
  506. Assert.IsFalse (child1.IsHandleCreated, "A56");
  507. SetUp ();
  508. o = child1.RecreatingHandle;
  509. Assert.IsFalse (child1.IsHandleCreated, "A57");
  510. SetUp ();
  511. o = child1.Region;
  512. child1.Region = new Region (new Rectangle (0, 0, 177, 177));
  513. Assert.IsFalse (child1.IsHandleCreated, "A58");
  514. SetUp ();
  515. o = child1.Right;
  516. Assert.IsFalse (child1.IsHandleCreated, "A59");
  517. SetUp ();
  518. o = child1.RightToLeft;
  519. child1.RightToLeft = RightToLeft.Yes;
  520. Assert.IsFalse (child1.IsHandleCreated, "A60");
  521. // P - R - Form
  522. SetUp ();
  523. o = child1.ParentForm;
  524. Assert.IsFalse (child1.IsHandleCreated, "FP1");
  525. #if NET_2_0 && !__MonoCS__
  526. SetUp ();
  527. o = child1.RestoreBounds;
  528. Assert.IsFalse (child1.IsHandleCreated, "FR1");
  529. #endif
  530. // S - W
  531. SetUp ();
  532. o = child1.Site;
  533. Assert.IsFalse (child1.IsHandleCreated, "A61");
  534. SetUp ();
  535. o = child1.Size;
  536. child1.Size = new Size (188, 188);
  537. Assert.IsFalse (child1.IsHandleCreated, "A62");
  538. SetUp ();
  539. o = child1.TabIndex;
  540. child1.TabIndex = 5;
  541. Assert.IsFalse (child1.IsHandleCreated, "A63");
  542. SetUp ();
  543. o = child1.Tag;
  544. child1.Tag = "moooooooo";
  545. Assert.IsFalse (child1.IsHandleCreated, "A64");
  546. SetUp ();
  547. o = child1.Text;
  548. child1.Text = "meoooowww";
  549. Assert.IsFalse (child1.IsHandleCreated, "A65");
  550. SetUp ();
  551. o = child1.Top;
  552. child1.Top = 16;
  553. Assert.IsFalse (child1.IsHandleCreated, "A66");
  554. SetUp ();
  555. o = child1.TopLevelControl;
  556. Assert.IsFalse (child1.IsHandleCreated, "A67");
  557. #if !__MonoCS__ && NET_2_0
  558. SetUp ();
  559. o = child1.UseWaitCursor;
  560. child1.UseWaitCursor = true;
  561. Assert.IsFalse (child1.IsHandleCreated, "A68");
  562. #endif
  563. SetUp ();
  564. o = child1.Visible;
  565. Assert.IsFalse (child1.IsHandleCreated, "A69-a");
  566. SetUp ();
  567. child1.Visible = true;
  568. Assert.IsTrue (child1.IsHandleCreated, "A69-b");
  569. SetUp ();
  570. o = child1.Width;
  571. child1.Width = 190;
  572. Assert.IsFalse (child1.IsHandleCreated, "A70");
  573. SetUp ();
  574. o = child1.WindowTarget;
  575. Assert.IsFalse (child1.IsHandleCreated, "A71");
  576. // S - W - Form
  577. #if NET_2_0
  578. SetUp ();
  579. o = child1.ShowIcon;
  580. child1.ShowIcon = !child1.ShowIcon;
  581. Assert.IsFalse (child1.IsHandleCreated, "FS1");
  582. #endif
  583. SetUp ();
  584. o = child1.ShowInTaskbar;
  585. child1.ShowInTaskbar = !child1.ShowInTaskbar;
  586. Assert.IsFalse (child1.IsHandleCreated, "FS2");
  587. SetUp ();
  588. o = child1.Size;
  589. child1.Size = child1.Size + new Size (1, 1);
  590. Assert.IsFalse (child1.IsHandleCreated, "FS3");
  591. SetUp ();
  592. o = child1.SizeGripStyle;
  593. child1.SizeGripStyle = SizeGripStyle.Show;
  594. Assert.IsFalse (child1.IsHandleCreated, "FS4");
  595. SetUp ();
  596. o = child1.StartPosition;
  597. child1.StartPosition = FormStartPosition.Manual;
  598. Assert.IsFalse (child1.IsHandleCreated, "FS5");
  599. SetUp ();
  600. o = child1.Text;
  601. child1.Text = "hooray!";
  602. Assert.IsFalse (child1.IsHandleCreated, "FT1");
  603. try {
  604. SetUp ();
  605. o = child1.TopLevel;
  606. child1.TopLevel = !child1.TopLevel;
  607. Assert.Fail ("FT2 - expected ArgumentException, got no exception.");
  608. } catch (ArgumentException ex) {
  609. TestHelper.RemoveWarning (ex);
  610. } catch (Exception ex) {
  611. Assert.Fail ("FT2 - expected ArgumentException, got " + ex.GetType ().Name);
  612. } finally {
  613. Assert.IsFalse (child1.IsHandleCreated, "FT2");
  614. }
  615. SetUp ();
  616. o = child1.TopMost;
  617. child1.TopMost = !child1.TopMost;
  618. Assert.IsFalse (child1.IsHandleCreated, "FT3");
  619. SetUp ();
  620. o = child1.TransparencyKey;
  621. child1.TransparencyKey = Color.BurlyWood;
  622. Assert.IsFalse (child1.IsHandleCreated, "FT4");
  623. #if NET_2_0 && !__MonoCS__
  624. SetUp ();
  625. o = child1.VerticalScroll;
  626. Assert.IsFalse (child1.IsHandleCreated, "FV1");
  627. #endif
  628. SetUp ();
  629. o = child1.WindowState;
  630. child1.WindowState = FormWindowState.Maximized;
  631. Assert.IsFalse (child1.IsHandleCreated, "FW1");
  632. TestHelper.RemoveWarning (o);
  633. }
  634. [Test]
  635. public void TestProtectedProperties ()
  636. {
  637. // Not a surprise, but none of these cause handle creation.
  638. // Included just to absolutely certain.
  639. object o;
  640. #if !__MonoCS__ && NET_2_0
  641. SetUp ();
  642. o = child1.PublicCanRaiseEvents;
  643. Assert.IsFalse (child1.IsHandleCreated, "A1");
  644. #endif
  645. SetUp ();
  646. o = child1.PublicCreateParams;
  647. Assert.IsFalse (child1.IsHandleCreated, "A2");
  648. #if NET_2_0
  649. SetUp ();
  650. o = child1.PublicDefaultCursor;
  651. Assert.IsFalse (child1.IsHandleCreated, "A3");
  652. #endif
  653. SetUp ();
  654. o = child1.PublicDefaultImeMode;
  655. Assert.IsFalse (child1.IsHandleCreated, "A4");
  656. #if NET_2_0
  657. SetUp ();
  658. o = child1.PublicDefaultMargin;
  659. Assert.IsFalse (child1.IsHandleCreated, "A5");
  660. SetUp ();
  661. o = child1.PublicDefaultMaximumSize;
  662. Assert.IsFalse (child1.IsHandleCreated, "A6");
  663. SetUp ();
  664. o = child1.PublicDefaultMinimumSize;
  665. Assert.IsFalse (child1.IsHandleCreated, "A7");
  666. SetUp ();
  667. o = child1.PublicDefaultPadding;
  668. Assert.IsFalse (child1.IsHandleCreated, "A8");
  669. SetUp ();
  670. o = child1.PublicDefaultSize;
  671. Assert.IsFalse (child1.IsHandleCreated, "A9");
  672. SetUp ();
  673. o = child1.PublicDoubleBuffered;
  674. child1.PublicDoubleBuffered = !child1.PublicDoubleBuffered;
  675. Assert.IsFalse (child1.IsHandleCreated, "A10");
  676. #endif
  677. SetUp ();
  678. o = child1.PublicFontHeight;
  679. child1.PublicFontHeight = child1.PublicFontHeight + 1;
  680. Assert.IsFalse (child1.IsHandleCreated, "A11");
  681. SetUp ();
  682. o = child1.PublicRenderRightToLeft;
  683. Assert.IsFalse (child1.IsHandleCreated, "A12");
  684. SetUp ();
  685. o = child1.PublicResizeRedraw;
  686. child1.PublicResizeRedraw = !child1.PublicResizeRedraw;
  687. Assert.IsFalse (child1.IsHandleCreated, "A13");
  688. #if !__MonoCS__ && NET_2_0
  689. SetUp ();
  690. o = child1.PublicScaleChildren;
  691. Assert.IsFalse (child1.IsHandleCreated, "A14");
  692. #endif
  693. SetUp ();
  694. o = child1.PublicShowFocusCues;
  695. Assert.IsFalse (child1.IsHandleCreated, "A15");
  696. SetUp ();
  697. o = child1.PublicShowKeyboardCues;
  698. Assert.IsFalse (child1.IsHandleCreated, "A16");
  699. #if NET_2_0
  700. SetUp ();
  701. o = child1.PublicAutoScaleFactor;
  702. Assert.IsFalse (child1.IsHandleCreated, "F1");
  703. #endif
  704. SetUp ();
  705. o = child1.PublicDesignMode;
  706. Assert.IsFalse (child1.IsHandleCreated, "F2");
  707. SetUp ();
  708. o = child1.PublicEvents;
  709. Assert.IsFalse (child1.IsHandleCreated, "F3");
  710. SetUp ();
  711. o = child1.PublicHScroll;
  712. child1.PublicHScroll = !child1.PublicHScroll;
  713. Assert.IsFalse (child1.IsHandleCreated, "F4");
  714. SetUp ();
  715. o = child1.PublicMaximizedBounds;
  716. child1.PublicMaximizedBounds = new Rectangle (1, 1, 1, 1);
  717. Assert.IsFalse (child1.IsHandleCreated, "F5");
  718. #if NET_2_0
  719. SetUp ();
  720. o = child1.PublicShowWithoutActivation;
  721. Assert.IsFalse (child1.IsHandleCreated, "F6");
  722. #endif
  723. SetUp ();
  724. o = child1.PublicVScroll;
  725. child1.PublicVScroll = !child1.PublicVScroll;
  726. Assert.IsFalse (child1.IsHandleCreated, "F7");
  727. TestHelper.RemoveWarning (o);
  728. }
  729. [Test]
  730. public void TestPublicMethods ()
  731. {
  732. // Public Methods that force Handle creation:
  733. // - CreateGraphics ()
  734. // - Focus ()
  735. // - GetChildAtPoint ()
  736. // - PointToClient ()
  737. // - PointToScreen ()
  738. // - RectangleToClient ()
  739. // - RectangleToScreen ()
  740. // - Select ()
  741. SetUp ();
  742. child1.BringToFront ();
  743. Assert.IsFalse (child1.IsHandleCreated, "A1");
  744. SetUp ();
  745. child1.Contains (new Form ());
  746. Assert.IsFalse (child1.IsHandleCreated, "A2");
  747. SetUp ();
  748. child1.CreateControl ();
  749. Assert.IsFalse (child1.IsHandleCreated, "A3");
  750. SetUp ();
  751. Graphics g = child1.CreateGraphics ();
  752. Assert.IsTrue (child1.IsHandleCreated, "A4");
  753. g.Dispose ();
  754. SetUp ();
  755. child1.Dispose ();
  756. Assert.IsFalse (child1.IsHandleCreated, "A5");
  757. // This is weird, it causes a form to appear that won't go away until you move the mouse over it,
  758. // but it doesn't create a handle??
  759. //DragDropEffects d = c.DoDragDrop ("yo", DragDropEffects.None);
  760. //Assert.IsFalse (c.IsHandleCreated, "A6");
  761. //Assert.AreEqual (DragDropEffects.None, d, "A6b");
  762. //Bitmap b = new Bitmap (100, 100);
  763. //c.DrawToBitmap (b, new Rectangle (0, 0, 100, 100));
  764. //Assert.IsFalse (c.IsHandleCreated, "A7");
  765. //b.Dispose ();
  766. SetUp ();
  767. child1.FindForm ();
  768. Assert.IsFalse (child1.IsHandleCreated, "A8");
  769. SetUp ();
  770. child1.Focus ();
  771. Assert.IsTrue (child1.IsHandleCreated, "A9");
  772. SetUp ();
  773. child1.GetChildAtPoint (new Point (10, 10));
  774. Assert.IsTrue (child1.IsHandleCreated, "A10");
  775. SetUp ();
  776. child1.GetContainerControl ();
  777. Assert.IsFalse (child1.IsHandleCreated, "A11");
  778. SetUp ();
  779. child1.GetNextControl (new Control (), true);
  780. Assert.IsFalse (child1.IsHandleCreated, "A12");
  781. #if NET_2_0
  782. SetUp ();
  783. child1.GetPreferredSize (Size.Empty);
  784. Assert.IsFalse (child1.IsHandleCreated, "A13");
  785. #endif
  786. SetUp ();
  787. child1.Hide ();
  788. Assert.IsFalse (child1.IsHandleCreated, "A14");
  789. SetUp ();
  790. child1.Invalidate ();
  791. Assert.IsFalse (child1.IsHandleCreated, "A15");
  792. child1.Invoke (new InvokeDelegate (InvokeMethod));
  793. Assert.IsFalse (child1.IsHandleCreated, "A16");
  794. SetUp ();
  795. child1.PerformLayout ();
  796. Assert.IsFalse (child1.IsHandleCreated, "A17");
  797. SetUp ();
  798. child1.PointToClient (new Point (100, 100));
  799. Assert.IsTrue (child1.IsHandleCreated, "A18");
  800. SetUp ();
  801. child1.PointToScreen (new Point (100, 100));
  802. Assert.IsTrue (child1.IsHandleCreated, "A19");
  803. //c.PreProcessControlMessage ???
  804. //c.PreProcessMessage ???
  805. SetUp ();
  806. child1.RectangleToClient (new Rectangle (0, 0, 100, 100));
  807. Assert.IsTrue (child1.IsHandleCreated, "A20");
  808. SetUp ();
  809. child1.RectangleToScreen (new Rectangle (0, 0, 100, 100));
  810. Assert.IsTrue (child1.IsHandleCreated, "A21");
  811. SetUp ();
  812. child1.Refresh ();
  813. Assert.IsFalse (child1.IsHandleCreated, "A22");
  814. SetUp ();
  815. child1.ResetBackColor ();
  816. Assert.IsFalse (child1.IsHandleCreated, "A23");
  817. SetUp ();
  818. child1.ResetBindings ();
  819. Assert.IsFalse (child1.IsHandleCreated, "A24");
  820. SetUp ();
  821. child1.ResetCursor ();
  822. Assert.IsFalse (child1.IsHandleCreated, "A25");
  823. SetUp ();
  824. child1.ResetFont ();
  825. Assert.IsFalse (child1.IsHandleCreated, "A26");
  826. SetUp ();
  827. child1.ResetForeColor ();
  828. Assert.IsFalse (child1.IsHandleCreated, "A27");
  829. SetUp ();
  830. child1.ResetImeMode ();
  831. Assert.IsFalse (child1.IsHandleCreated, "A28");
  832. SetUp ();
  833. child1.ResetRightToLeft ();
  834. Assert.IsFalse (child1.IsHandleCreated, "A29");
  835. SetUp ();
  836. child1.ResetText ();
  837. Assert.IsFalse (child1.IsHandleCreated, "A30");
  838. SetUp ();
  839. child1.SuspendLayout ();
  840. Assert.IsFalse (child1.IsHandleCreated, "A31");
  841. SetUp ();
  842. child1.ResumeLayout ();
  843. Assert.IsFalse (child1.IsHandleCreated, "A32");
  844. #if NET_2_0
  845. SetUp ();
  846. child1.Scale (new SizeF (1.5f, 1.5f));
  847. Assert.IsFalse (child1.IsHandleCreated, "A33");
  848. #endif
  849. SetUp ();
  850. child1.Select ();
  851. Assert.IsTrue (child1.IsHandleCreated, "A34");
  852. SetUp ();
  853. child1.SelectNextControl (new Control (), true, true, true, true);
  854. Assert.IsFalse (child1.IsHandleCreated, "A35");
  855. SetUp ();
  856. child1.SetBounds (0, 0, 100, 100);
  857. Assert.IsFalse (child1.IsHandleCreated, "A36");
  858. SetUp ();
  859. child1.Update ();
  860. Assert.IsFalse (child1.IsHandleCreated, "A37");
  861. // Form
  862. SetUp ();
  863. child1.Activate ();
  864. Assert.IsFalse (child1.IsHandleCreated, "F1");
  865. SetUp ();
  866. child1.AddOwnedForm (new Form ());
  867. Assert.IsFalse (child1.IsHandleCreated, "F2");
  868. SetUp ();
  869. child1.Close ();
  870. Assert.IsFalse (child1.IsHandleCreated, "F3");
  871. SetUp ();
  872. child1.Hide ();
  873. Assert.IsFalse (child1.IsHandleCreated, "F4");
  874. SetUp ();
  875. child1.LayoutMdi (MdiLayout.Cascade);
  876. Assert.IsFalse (child1.IsHandleCreated, "F5");
  877. #if NET_2_0 && !__MonoCS__
  878. SetUp ();
  879. child1.PerformAutoScale ();
  880. Assert.IsFalse (child1.IsHandleCreated, "F6");
  881. #endif
  882. SetUp ();
  883. child1.PerformLayout ();
  884. Assert.IsFalse (child1.IsHandleCreated, "F7");
  885. SetUp ();
  886. child1.AddOwnedForm (new Form ());
  887. child1.RemoveOwnedForm (child1.OwnedForms [child1.OwnedForms.Length - 1]);
  888. Assert.IsFalse (child1.IsHandleCreated, "F8");
  889. SetUp ();
  890. child1.ScrollControlIntoView (null);
  891. Assert.IsFalse (child1.IsHandleCreated, "F9");
  892. SetUp ();
  893. child1.SetAutoScrollMargin (7, 13);
  894. Assert.IsFalse (child1.IsHandleCreated, "F10");
  895. SetUp ();
  896. child1.SetDesktopBounds (-1, -1, 144, 169);
  897. Assert.IsFalse (child1.IsHandleCreated, "F11");
  898. SetUp ();
  899. child1.SetDesktopLocation (7, 13);
  900. Assert.IsFalse (child1.IsHandleCreated, "F12");
  901. #if NET_2_0
  902. try {
  903. SetUp ();
  904. child1.Show (null);
  905. Assert.Fail ("F13 - expected InvalidOperationException, got no exception.");
  906. } catch (InvalidOperationException ex) {
  907. TestHelper.RemoveWarning (ex);
  908. } catch (Exception ex) {
  909. Assert.Fail ("F13 - expected InvalidOperationException, got " + ex.GetType ().Name);
  910. } finally {
  911. Assert.IsFalse (child1.IsHandleCreated, "F13");
  912. }
  913. #endif
  914. //c.ShowDialog ()
  915. SetUp ();
  916. child1.ToString ();
  917. Assert.IsFalse (child1.IsHandleCreated, "F14");
  918. SetUp ();
  919. child1.Validate ();
  920. Assert.IsFalse (child1.IsHandleCreated, "F15");
  921. #if NET_2_0 && !__MonoCS__
  922. SetUp ();
  923. child1.ValidateChildren ();
  924. Assert.IsFalse (child1.IsHandleCreated, "F16");
  925. #endif
  926. }
  927. [Test]
  928. public void Show ()
  929. {
  930. SetUp ();
  931. Assert.IsFalse (child1.IsHandleCreated, "A1");
  932. child1.HandleCreated += new EventHandler (HandleCreated_WriteStackTrace);
  933. child1.Show ();
  934. Assert.IsTrue (child1.IsHandleCreated, "A2");
  935. }
  936. void HandleCreated_WriteStackTrace (object sender, EventArgs e)
  937. {
  938. Console.WriteLine (Environment.StackTrace);
  939. }
  940. public delegate void InvokeDelegate ();
  941. public void InvokeMethod () { invokeform.Text = "methodinvoked"; }
  942. Form invokeform = new Form ();
  943. [Test]
  944. public void TestProtectedMethods ()
  945. {
  946. // Protected Methods that force Handle creation:
  947. // - CreateAccessibilityInstance ()
  948. // - CreateHandle ()
  949. // - IsInputChar ()
  950. // - Select ()
  951. // - SetVisibleCore ()
  952. SetUp ();
  953. child1.PublicAccessibilityNotifyClients (AccessibleEvents.Focus, 0);
  954. #if NET_2_0
  955. Assert.IsFalse (child1.IsHandleCreated, "A1");
  956. #else
  957. Assert.IsTrue (child1.IsHandleCreated, "A1");
  958. #endif
  959. child1.PublicCreateAccessibilityInstance ();
  960. Assert.IsTrue (child1.IsHandleCreated, "A2");
  961. SetUp ();
  962. child1.PublicCreateControlsInstance ();
  963. Assert.IsFalse (child1.IsHandleCreated, "A3");
  964. SetUp ();
  965. child1.PublicCreateHandle ();
  966. Assert.IsTrue (child1.IsHandleCreated, "A4");
  967. SetUp ();
  968. child1.PublicDestroyHandle ();
  969. Assert.IsFalse (child1.IsHandleCreated, "A5");
  970. #if NET_2_0
  971. SetUp ();
  972. child1.PublicGetAccessibilityObjectById (0);
  973. Assert.IsFalse (child1.IsHandleCreated, "A6");
  974. #endif
  975. #if !__MonoCS__ && NET_2_0
  976. SetUp ();
  977. child1.PublicGetAutoSizeMode ();
  978. Assert.IsFalse (child1.IsHandleCreated, "A7");
  979. SetUp ();
  980. child1.PublicGetScaledBounds (new Rectangle (0, 0, 100, 100), new SizeF (1.5f, 1.5f), BoundsSpecified.All);
  981. Assert.IsFalse (child1.IsHandleCreated, "A8");
  982. #endif
  983. SetUp ();
  984. child1.PublicGetStyle (ControlStyles.FixedHeight);
  985. Assert.IsFalse (child1.IsHandleCreated, "A9");
  986. SetUp ();
  987. child1.PublicGetTopLevel ();
  988. Assert.IsFalse (child1.IsHandleCreated, "A10");
  989. SetUp ();
  990. child1.PublicInitLayout ();
  991. Assert.IsFalse (child1.IsHandleCreated, "A11");
  992. SetUp ();
  993. child1.PublicInvokeGotFocus (child1, EventArgs.Empty);
  994. Assert.IsFalse (child1.IsHandleCreated, "A12");
  995. SetUp ();
  996. child1.PublicInvokeLostFocus (child1, EventArgs.Empty);
  997. Assert.IsFalse (child1.IsHandleCreated, "A13");
  998. SetUp ();
  999. child1.PublicInvokeOnClick (child1, EventArgs.Empty);
  1000. Assert.IsFalse (child1.IsHandleCreated, "A14");
  1001. SetUp ();
  1002. child1.PublicInvokePaint (child1, new PaintEventArgs (Graphics.FromImage (new Bitmap (1, 1)), Rectangle.Empty));
  1003. Assert.IsFalse (child1.IsHandleCreated, "A15");
  1004. SetUp ();
  1005. child1.PublicInvokePaintBackground (child1, new PaintEventArgs (Graphics.FromImage (new Bitmap (1, 1)), Rectangle.Empty));
  1006. Assert.IsFalse (child1.IsHandleCreated, "A16");
  1007. SetUp ();
  1008. child1.PublicIsInputChar ('c');
  1009. Assert.IsTrue (child1.IsHandleCreated, "A17");
  1010. SetUp ();
  1011. child1.PublicIsInputKey (Keys.B);
  1012. Assert.IsFalse (child1.IsHandleCreated, "A18");
  1013. SetUp ();
  1014. child1.PublicNotifyInvalidate (Rectangle.Empty);
  1015. Assert.IsFalse (child1.IsHandleCreated, "A19");
  1016. SetUp ();
  1017. child1.PublicOnVisibleChanged (EventArgs.Empty);
  1018. Assert.IsFalse (child1.IsHandleCreated, "A20");
  1019. SetUp ();
  1020. child1.PublicRaiseDragEvent (null, null);
  1021. Assert.IsFalse (child1.IsHandleCreated, "A21");
  1022. SetUp ();
  1023. child1.PublicRaiseKeyEvent (null, null);
  1024. Assert.IsFalse (child1.IsHandleCreated, "A22");
  1025. SetUp ();
  1026. child1.PublicRaiseMouseEvent (null, null);
  1027. Assert.IsFalse (child1.IsHandleCreated, "A23");
  1028. SetUp ();
  1029. child1.PublicRaisePaintEvent (null, null);
  1030. Assert.IsFalse (child1.IsHandleCreated, "A24");
  1031. SetUp ();
  1032. child1.PublicRecreateHandle ();
  1033. Assert.IsFalse (child1.IsHandleCreated, "A25");
  1034. SetUp ();
  1035. child1.PublicResetMouseEventArgs ();
  1036. Assert.IsFalse (child1.IsHandleCreated, "A26");
  1037. SetUp ();
  1038. child1.PublicRtlTranslateAlignment (ContentAlignment.BottomLeft);
  1039. Assert.IsFalse (child1.IsHandleCreated, "A27");
  1040. SetUp ();
  1041. child1.PublicRtlTranslateContent (ContentAlignment.BottomLeft);
  1042. Assert.IsFalse (child1.IsHandleCreated, "A28");
  1043. SetUp ();
  1044. child1.PublicRtlTranslateHorizontal (HorizontalAlignment.Left);
  1045. Assert.IsFalse (child1.IsHandleCreated, "A29");
  1046. SetUp ();
  1047. child1.PublicRtlTranslateLeftRight (LeftRightAlignment.Left);
  1048. Assert.IsFalse (child1.IsHandleCreated, "A30");
  1049. #if !__MonoCS__ && NET_2_0
  1050. SetUp ();
  1051. child1.PublicScaleControl (new SizeF (1.5f, 1.5f), BoundsSpecified.All);
  1052. Assert.IsFalse (child1.IsHandleCreated, "A31");
  1053. #endif
  1054. SetUp ();
  1055. child1.PublicScaleCore (1.5f, 1.5f);
  1056. Assert.IsFalse (child1.IsHandleCreated, "A32");
  1057. SetUp ();
  1058. child1.PublicSelect ();
  1059. Assert.IsTrue (child1.IsHandleCreated, "A33");
  1060. #if !__MonoCS__ && NET_2_0
  1061. SetUp ();
  1062. child1.PublicSetAutoSizeMode (AutoSizeMode.GrowAndShrink);
  1063. Assert.IsFalse (child1.IsHandleCreated, "A34");
  1064. #endif
  1065. SetUp ();
  1066. child1.PublicSetBoundsCore (0, 0, 100, 100, BoundsSpecified.All);
  1067. Assert.IsFalse (child1.IsHandleCreated, "A35");
  1068. SetUp ();
  1069. child1.PublicSetClientSizeCore (122, 122);
  1070. Assert.IsFalse (child1.IsHandleCreated, "A36");
  1071. SetUp ();
  1072. child1.PublicSetStyle (ControlStyles.FixedHeight, true);
  1073. Assert.IsFalse (child1.IsHandleCreated, "A37");
  1074. try {
  1075. SetUp ();
  1076. child1.PublicSetTopLevel (true);
  1077. Assert.Fail ("A38, expected ArgumentException, got no exception");
  1078. } catch (ArgumentException ex) {
  1079. TestHelper.RemoveWarning (ex);
  1080. } catch (Exception ex) {
  1081. Assert.Fail ("A38, expected ArgumentException, got " + ex.GetType ().Name);
  1082. } finally {
  1083. Assert.IsFalse (child1.IsHandleCreated, "A38");
  1084. }
  1085. SetUp ();
  1086. child1.PublicSetVisibleCore (true);
  1087. Assert.IsTrue (child1.IsHandleCreated, "A39");
  1088. #if NET_2_0
  1089. SetUp ();
  1090. child1.PublicSizeFromClientSize (new Size (160, 160));
  1091. Assert.IsFalse (child1.IsHandleCreated, "A40");
  1092. #endif
  1093. SetUp ();
  1094. child1.PublicUpdateBounds ();
  1095. Assert.IsFalse (child1.IsHandleCreated, "A41");
  1096. SetUp ();
  1097. child1.PublicUpdateStyles ();
  1098. Assert.IsFalse (child1.IsHandleCreated, "A42");
  1099. SetUp ();
  1100. child1.PublicUpdateZOrder ();
  1101. Assert.IsFalse (child1.IsHandleCreated, "A43");
  1102. // Form
  1103. SetUp ();
  1104. main.PublicActivateMdiChild (child1);
  1105. main.PublicActivateMdiChild (child2);
  1106. Assert.IsFalse (child1.IsHandleCreated, "F1-a");
  1107. Assert.IsFalse (child2.IsHandleCreated, "F1-b");
  1108. SetUp ();
  1109. child1.PublicAdjustFormScrollbars (true);
  1110. Assert.IsFalse (child1.IsHandleCreated, "F2");
  1111. SetUp ();
  1112. child1.PublicCenterToParent ();
  1113. Assert.IsFalse (child1.IsHandleCreated, "F3");
  1114. SetUp ();
  1115. child1.PublicCenterToScreen ();
  1116. Assert.IsFalse (child1.IsHandleCreated, "F4");
  1117. SetUp ();
  1118. child1.PublicGetScrollState (1);
  1119. Assert.IsFalse (child1.IsHandleCreated, "F5");
  1120. SetUp ();
  1121. child1.PublicGetService (typeof (int));
  1122. Assert.IsFalse (child1.IsHandleCreated, "F6");
  1123. SetUp ();
  1124. Message m = new Message ();
  1125. child1.PublicProcessCmdKey (ref m, Keys.C);
  1126. Assert.IsFalse (child1.IsHandleCreated, "F7");
  1127. SetUp ();
  1128. child1.PublicProcessDialogChar ('p');
  1129. Assert.IsFalse (child1.IsHandleCreated, "F8");
  1130. SetUp ();
  1131. child1.PublicProcessDialogKey (Keys.D);
  1132. Assert.IsFalse (child1.IsHandleCreated, "F9");
  1133. SetUp ();
  1134. child1.PublicProcessKeyEventArgs (ref m);
  1135. Assert.IsFalse (child1.IsHandleCreated, "F10");
  1136. SetUp ();
  1137. child1.PublicProcessKeyMessage (ref m);
  1138. Assert.IsFalse (child1.IsHandleCreated, "F11");
  1139. SetUp ();
  1140. child1.PublicProcessKeyPreview (ref m);
  1141. Assert.IsFalse (child1.IsHandleCreated, "F12");
  1142. SetUp ();
  1143. child1.PublicProcessMnemonic ('Z');
  1144. Assert.IsFalse (child1.IsHandleCreated, "F13");
  1145. SetUp ();
  1146. child1.PublicProcessTabKey (true);
  1147. Assert.IsFalse (child1.IsHandleCreated, "F14");
  1148. #if NET_2_0 && !__MonoCS__
  1149. SetUp ();
  1150. child1.Controls.Add (new Control ());
  1151. child1.PublicScrollToControl (child1.Controls [0]);
  1152. Assert.IsFalse (child1.IsHandleCreated, "F15");
  1153. #endif
  1154. SetUp ();
  1155. child1.PublicSelect (true, true);
  1156. Assert.IsTrue (child1.IsHandleCreated, "F16");
  1157. SetUp ();
  1158. child1.PublicSetDisplayRectLocation (13, 17);
  1159. Assert.IsFalse (child1.IsHandleCreated, "F17");
  1160. SetUp ();
  1161. child1.PublicSetScrollState (5, false);
  1162. Assert.IsFalse (child1.IsHandleCreated, "F18");
  1163. SetUp ();
  1164. child1.PublicUpdateDefaultButton (3, false);
  1165. Assert.IsFalse (child1.IsHandleCreated, "F19");
  1166. }
  1167. private class ProtectedForm : Form
  1168. {
  1169. // Properties
  1170. #if NET_2_0
  1171. public SizeF PublicAutoScaleFactor { get { return base.AutoScaleFactor; } }
  1172. #endif
  1173. #if !__MonoCS__ && NET_2_0
  1174. public bool PublicCanRaiseEvents { get { return base.CanRaiseEvents; } }
  1175. #endif
  1176. public CreateParams PublicCreateParams { get { return base.CreateParams; } }
  1177. #if NET_2_0
  1178. public Cursor PublicDefaultCursor { get { return base.DefaultCursor; } }
  1179. #endif
  1180. public ImeMode PublicDefaultImeMode { get { return base.DefaultImeMode; } }
  1181. #if NET_2_0
  1182. public Padding PublicDefaultMargin { get { return base.DefaultMargin; } }
  1183. public Size PublicDefaultMaximumSize { get { return base.DefaultMaximumSize; } }
  1184. public Size PublicDefaultMinimumSize { get { return base.DefaultMinimumSize; } }
  1185. public Padding PublicDefaultPadding { get { return base.DefaultPadding; } }
  1186. public Size PublicDefaultSize { get { return base.DefaultSize; } }
  1187. #endif
  1188. public bool PublicDesignMode { get {return base.DesignMode; } }
  1189. #if NET_2_0
  1190. public bool PublicDoubleBuffered { get { return base.DoubleBuffered; } set { base.DoubleBuffered = value; } }
  1191. #endif
  1192. public EventHandlerList PublicEvents { get {return base.Events; } }
  1193. public int PublicFontHeight { get { return base.FontHeight; } set { base.FontHeight = value; } }
  1194. public bool PublicHScroll { get {return base.HScroll; } set { base.HScroll = value;} }
  1195. public Rectangle PublicMaximizedBounds { get {return base.MaximizedBounds; } set { base.MaximizedBounds = value; }}
  1196. public bool PublicRenderRightToLeft { get { return base.RenderRightToLeft; } }
  1197. public bool PublicResizeRedraw { get { return base.ResizeRedraw; } set { base.ResizeRedraw = value; } }
  1198. #if !__MonoCS__ && NET_2_0
  1199. public bool PublicScaleChildren { get { return base.ScaleChildren; } }
  1200. #endif
  1201. public bool PublicShowFocusCues { get { return base.ShowFocusCues; } }
  1202. public bool PublicShowKeyboardCues { get { return base.ShowKeyboardCues; } }
  1203. #if NET_2_0
  1204. public bool PublicShowWithoutActivation { get { return base.ShowWithoutActivation; } }
  1205. #endif
  1206. public bool PublicVScroll { get { return base.VScroll; } set { base.VScroll = value; } }
  1207. // Methods
  1208. public void PublicAccessibilityNotifyClients (AccessibleEvents accEvent, int childID) { base.AccessibilityNotifyClients (accEvent, childID); }
  1209. public void PublicActivateMdiChild (Form form) { base.ActivateMdiChild (form); }
  1210. public void PublicAdjustFormScrollbars (bool displayScrollbars) {base.AdjustFormScrollbars (displayScrollbars); }
  1211. public void PublicCenterToParent () { base.CenterToParent (); }
  1212. public void PublicCenterToScreen () { base.CenterToScreen (); }
  1213. public void PublicCreateAccessibilityInstance () { base.CreateAccessibilityInstance (); }
  1214. public void PublicCreateControlsInstance () { base.CreateControlsInstance (); }
  1215. public void PublicCreateHandle () { base.CreateHandle (); }
  1216. public void PublicDestroyHandle () { base.DestroyHandle (); }
  1217. #if NET_2_0
  1218. public AccessibleObject PublicGetAccessibilityObjectById (int objectId) { return base.GetAccessibilityObjectById (objectId); }
  1219. #endif
  1220. #if !__MonoCS__ && NET_2_0
  1221. public AutoSizeMode PublicGetAutoSizeMode () { return base.GetAutoSizeMode (); }
  1222. public Rectangle PublicGetScaledBounds (Rectangle bounds, SizeF factor, BoundsSpecified specified) { return base.GetScaledBounds (bounds, factor, specified); }
  1223. #endif
  1224. public bool PublicGetScrollState (int bit) { return base.GetScrollState (bit); }
  1225. public object PublicGetService (Type service) { return base.GetService (service); }
  1226. public bool PublicGetStyle (ControlStyles flag) { return base.GetStyle (flag); }
  1227. public bool PublicGetTopLevel () { return base.GetTopLevel (); }
  1228. public void PublicInitLayout () { base.InitLayout (); }
  1229. public void PublicInvokeGotFocus (Control toInvoke, EventArgs e) { base.InvokeGotFocus (toInvoke, e); }
  1230. public void PublicInvokeLostFocus (Control toInvoke, EventArgs e) { base.InvokeLostFocus (toInvoke, e); }
  1231. public void PublicInvokeOnClick (Control toInvoke, EventArgs e) { base.InvokeOnClick (toInvoke, e); }
  1232. public void PublicInvokePaint (Control c, PaintEventArgs e) { base.InvokePaint (c, e); }
  1233. public void PublicInvokePaintBackground (Control c, PaintEventArgs e) { base.InvokePaintBackground (c, e); }
  1234. public bool PublicIsInputChar (char charCode) { return base.IsInputChar (charCode); }
  1235. public bool PublicIsInputKey (Keys keyData) { return base.IsInputKey (keyData); }
  1236. public void PublicNotifyInvalidate (Rectangle invalidatedArea) { base.NotifyInvalidate (invalidatedArea); }
  1237. public void PublicOnVisibleChanged (EventArgs e) { base.OnVisibleChanged (e); }
  1238. public void PublicProcessCmdKey (ref Message msg, Keys keyData) { base.ProcessCmdKey (ref msg, keyData); }
  1239. public void PublicProcessDialogChar (char charCode) { base.ProcessDialogChar (charCode); }
  1240. public void PublicProcessDialogKey (Keys keyData) { base.ProcessDialogKey (keyData); }
  1241. public void PublicProcessKeyEventArgs (ref Message m) { base.ProcessKeyEventArgs (ref m); }
  1242. public void PublicProcessKeyMessage (ref Message m) { base.ProcessKeyMessage (ref m); }
  1243. public void PublicProcessKeyPreview (ref Message m) { base.ProcessKeyPreview (ref m); }
  1244. public void PublicProcessMnemonic (char charCode) { base.ProcessMnemonic (charCode); }
  1245. public void PublicProcessTabKey (bool forward) { base.ProcessTabKey (forward); }
  1246. public void PublicRaiseDragEvent (Object key, DragEventArgs e) { base.RaiseDragEvent (key, e); }
  1247. public void PublicRaiseKeyEvent (Object key, KeyEventArgs e) { base.RaiseKeyEvent (key, e); }
  1248. public void PublicRaiseMouseEvent (Object key, MouseEventArgs e) { base.RaiseMouseEvent (key, e); }
  1249. public void PublicRaisePaintEvent (Object key, PaintEventArgs e) { base.RaisePaintEvent (key, e); }
  1250. public void PublicRecreateHandle () { base.RecreateHandle (); }
  1251. public void PublicResetMouseEventArgs () { base.ResetMouseEventArgs (); }
  1252. public ContentAlignment PublicRtlTranslateAlignment (ContentAlignment align) { return base.RtlTranslateAlignment (align); }
  1253. public ContentAlignment PublicRtlTranslateContent (ContentAlignment align) { return base.RtlTranslateContent (align); }
  1254. public HorizontalAlignment PublicRtlTranslateHorizontal (HorizontalAlignment align) { return base.RtlTranslateHorizontal (align); }
  1255. public LeftRightAlignment PublicRtlTranslateLeftRight (LeftRightAlignment align) { return base.RtlTranslateLeftRight (align); }
  1256. #if !__MonoCS__ && NET_2_0
  1257. public void PublicScaleControl (SizeF factor, BoundsSpecified specified) { base.ScaleControl (factor, specified); }
  1258. #endif
  1259. public void PublicScaleCore (float dx, float dy) { base.ScaleCore (dx, dy); }
  1260. #if NET_2_0 && !__MonoCS__
  1261. public void PublicScrollToControl (Control activeControl) { base.ScrollToControl (activeControl); }
  1262. #endif
  1263. public void PublicSelect () { base.Select (); }
  1264. public void PublicSelect (bool directed, bool forward) { base.Select (directed, forward); }
  1265. #if !__MonoCS__ && NET_2_0
  1266. public void PublicSetAutoSizeMode (AutoSizeMode mode) { base.SetAutoSizeMode (mode); }
  1267. #endif
  1268. public void PublicSetBoundsCore (int x, int y, int width, int height, BoundsSpecified specified) { base.SetBoundsCore (x, y, width, height, specified); }
  1269. public void PublicSetClientSizeCore (int x, int y) { base.SetClientSizeCore (x, y); }
  1270. public void PublicSetDisplayRectLocation (int x, int y) { base.SetDisplayRectLocation (x, y); }
  1271. public void PublicSetScrollState (int bit, bool value) { base.SetScrollState (bit, value); }
  1272. public void PublicSetStyle (ControlStyles flag, bool value) { base.SetStyle (flag, value); }
  1273. public void PublicSetTopLevel (bool value) { base.SetTopLevel (value); }
  1274. public void PublicSetVisibleCore (bool value) { base.SetVisibleCore (value); }
  1275. #if NET_2_0
  1276. public Size PublicSizeFromClientSize (Size clientSize) { return base.SizeFromClientSize (clientSize); }
  1277. #endif
  1278. public void PublicUpdateBounds () { base.UpdateBounds (); }
  1279. public void PublicUpdateDefaultButton (int bit, bool value) { base.UpdateDefaultButton (); }
  1280. public void PublicUpdateStyles () { base.UpdateStyles (); }
  1281. public void PublicUpdateZOrder () { base.UpdateZOrder (); }
  1282. }
  1283. }
  1284. }