MdiFormHandleTest.cs 46 KB

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