FormHandleTest.cs 39 KB

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