2 // Copyright (c) 2005 Novell, Inc.
5 // Hisham Mardam Bey (hisham.mardambey@gmail.com)
6 // Ritvik Mayank (mritvik@novell.com)
11 using NUnit.Framework;
12 using System.Windows.Forms;
14 using System.Collections;
16 namespace MonoTests.System.Windows.Forms
19 public class MyScrollBar : HScrollBar
21 private ArrayList results = new ArrayList ();
22 public MyScrollBar () : base ()
25 protected override void OnBackColorChanged (EventArgs e)
27 results.Add ("OnBackColorChanged");
28 base.OnBackColorChanged (e);
31 protected override void OnBackgroundImageChanged (EventArgs e)
33 results.Add ("OnBackgroundImageChanged");
34 base.OnBackgroundImageChanged (e);
37 protected override void OnClick (EventArgs e)
39 results.Add ("OnClick");
43 protected override void OnDoubleClick (EventArgs e)
45 results.Add ("OnDoubleClick");
46 base.OnDoubleClick (e);
49 protected override void OnFontChanged (EventArgs e)
51 results.Add ("OnFontChanged");
52 base.OnFontChanged (e);
55 protected override void OnForeColorChanged (EventArgs e)
57 results.Add ("OnForeColorChanged");
58 base.OnForeColorChanged (e);
61 protected override void OnImeModeChanged (EventArgs e)
63 results.Add ("OnImeModeChanged");
64 base.OnImeModeChanged (e);
67 protected override void OnMouseDown (MouseEventArgs e)
69 results.Add ("OnMouseDown");
73 protected override void OnMouseMove (MouseEventArgs e)
75 results.Add ("OnMouseMove");
79 protected override void OnMouseEnter (EventArgs e)
81 results.Add ("OnMouseEnter");
82 base.OnMouseEnter (e);
85 protected override void OnMouseLeave (EventArgs e)
87 results.Add ("OnMouseLeave");
88 base.OnMouseLeave (e);
91 protected override void OnMouseHover (EventArgs e)
93 results.Add ("OnMouseHover");
94 base.OnMouseHover (e);
97 protected override void OnMouseUp (MouseEventArgs e)
99 results.Add ("OnMouseUp");
103 protected override void OnHandleCreated (EventArgs e)
105 results.Add ("OnHandleCreated");
106 base.OnHandleCreated (e);
109 protected override void OnBindingContextChanged (EventArgs e)
111 results.Add ("OnBindingContextChanged");
112 base.OnBindingContextChanged (e);
115 protected override void OnInvalidated (InvalidateEventArgs e)
117 results.Add("OnInvalidated");
118 base.OnInvalidated (e);
121 protected override void OnResize (EventArgs e)
123 results.Add("OnResize");
127 protected override void OnSizeChanged (EventArgs e)
129 results.Add("OnSizeChanged");
130 base.OnSizeChanged (e);
133 protected override void OnLayout (LayoutEventArgs e)
135 results.Add("OnLayout");
139 protected override void OnVisibleChanged (EventArgs e)
141 results.Add("OnVisibleChanged");
142 base.OnVisibleChanged (e);
145 protected override void OnScroll (ScrollEventArgs e)
147 results.Add("OnScroll");
151 protected override void OnTextChanged (EventArgs e)
153 results.Add("OnTextChanged");
154 base.OnTextChanged (e);
157 protected override void OnValueChanged (EventArgs e)
159 results.Add("OnValueChanged");
160 base.OnValueChanged (e);
163 protected override void OnPaint (PaintEventArgs e)
165 results.Add("OnPaint");
169 public ArrayList Results {
170 get { return results; }
173 public void MoveMouse ()
179 m.Msg = (int)WndMsg.WM_NCHITTEST;
180 m.HWnd = this.Handle;
181 m.WParam = (IntPtr)0x0;
182 m.LParam = (IntPtr)0x1c604ea;
185 m.Msg = (int)WndMsg.WM_SETCURSOR;
186 m.HWnd = this.Handle;
187 m.WParam = (IntPtr)0x100448;
188 m.LParam = (IntPtr)0x2000001;
191 m.Msg = (int)WndMsg.WM_MOUSEFIRST;
192 m.HWnd = this.Handle;
193 m.WParam = (IntPtr)0x0;
194 m.LParam = (IntPtr)0x14000b;
197 m.Msg = (int)WndMsg.WM_MOUSEHOVER;
198 m.HWnd = this.Handle;
199 m.WParam = (IntPtr)0x0;
200 m.LParam = (IntPtr)0x14000b;
204 public void MouseClick()
211 m.Msg = (int)WndMsg.WM_LBUTTONDOWN;
212 m.HWnd = this.Handle;
213 m.WParam = (IntPtr)0x01;
214 m.LParam = (IntPtr)0x9004f;
219 m.Msg = (int)WndMsg.WM_LBUTTONUP;
220 m.HWnd = this.Handle;
221 m.WParam = (IntPtr)0x01;
222 m.LParam = (IntPtr)0x9004f;
226 public void MouseDoubleClick ()
231 public void MouseRightDown()
237 m.Msg = (int)WndMsg.WM_RBUTTONDOWN;
238 m.HWnd = this.Handle;
239 m.WParam = (IntPtr)0x01;
240 m.LParam = (IntPtr)0x9004f;
244 public void MouseRightUp()
250 m.Msg = (int)WndMsg.WM_RBUTTONUP;
251 m.HWnd = this.Handle;
252 m.WParam = (IntPtr)0x01;
253 m.LParam = (IntPtr)0x9004f;
257 public void ScrollNow ()
264 m.HWnd = this.Handle;
265 m.WParam = (IntPtr)0x1;
266 m.LParam = (IntPtr)0x1a051a;
270 m.HWnd = this.Handle;
271 m.WParam = (IntPtr)0x1;
272 m.LParam = (IntPtr)0x12eb34;
277 public class ScrollbarTest
280 public void PubPropTest ()
282 MyScrollBar myscrlbar = new MyScrollBar ();
285 myscrlbar.BackColor = Color.Red;
286 Assert.AreEqual (255, myscrlbar.BackColor.R, "B2");
287 myscrlbar.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
288 Assert.AreEqual (16, myscrlbar.BackgroundImage.Height, "B3");
291 Assert.AreEqual ("ControlText", myscrlbar.ForeColor.Name, "F1");
294 //Assert.AreEqual (ImeMode.Disable, myscrlbar.ImeMode, "I1");
297 Assert.AreEqual (10, myscrlbar.LargeChange, "L1");
300 Assert.AreEqual (100, myscrlbar.Maximum, "M1");
301 Assert.AreEqual (0, myscrlbar.Minimum, "M2");
302 myscrlbar.Maximum = 300;
303 myscrlbar.Minimum = 100;
304 Assert.AreEqual (300, myscrlbar.Maximum, "M3");
305 Assert.AreEqual (100, myscrlbar.Minimum, "M4");
308 Assert.AreEqual (null, myscrlbar.Site, "S1");
309 Assert.AreEqual (1, myscrlbar.SmallChange, "S2");
310 myscrlbar.SmallChange = 10;
311 Assert.AreEqual (10, myscrlbar.SmallChange, "S3");
314 Assert.AreEqual (false, myscrlbar.TabStop, "T1");
315 myscrlbar.TabStop = true;
316 Assert.AreEqual (true, myscrlbar.TabStop, "T2");
317 Assert.AreEqual ("", myscrlbar.Text, "T3");
318 myscrlbar.Text = "MONO SCROLLBAR";
319 Assert.AreEqual ("MONO SCROLLBAR", myscrlbar.Text, "T4");
322 Assert.AreEqual (100, myscrlbar.Value, "V1");
323 myscrlbar.Value = 150;
324 Assert.AreEqual (150, myscrlbar.Value, "V2");
328 [ExpectedException (typeof (ArgumentException))]
329 public void ExceptionValueTest ()
331 MyScrollBar myscrlbar = new MyScrollBar ();
332 myscrlbar.Minimum = 10;
333 myscrlbar.Maximum = 20;
335 myscrlbar.Value = 21;
339 [ExpectedException (typeof (ArgumentException))]
340 public void ExceptionSmallChangeTest ()
342 MyScrollBar myscrlbar = new MyScrollBar ();
343 myscrlbar.SmallChange = -1;
347 [ExpectedException (typeof (ArgumentException))]
348 public void ExceptionLargeChangeTest ()
350 MyScrollBar myscrlbar = new MyScrollBar ();
351 myscrlbar.LargeChange = -1;
354 [Test, Ignore ("Look into this")]
355 public void PubMethodTest ()
357 MyScrollBar myscrlbar = new MyScrollBar ();
358 myscrlbar.Text = "New HScrollBar";
359 Assert.AreEqual ("System.Windows.Forms.HScrollBar, Minimum: 0, Maximum: 100, Value: 0",
360 myscrlbar.ToString (), "T5");
365 public class ScrollBarEventTest
367 static bool eventhandled = false;
368 public void ScrollBar_EventHandler (object sender,EventArgs e)
373 public void ScrollBarMouse_EventHandler (object sender,MouseEventArgs e)
378 public void ScrollBarScroll_EventHandler (object sender,ScrollEventArgs e)
383 public void ScrollBarPaint_EventHandler (object sender,PaintEventArgs e)
389 public void BackColorChangedTest ()
391 Form myform = new Form ();
392 myform.Visible = true;
393 ScrollBar myHscrlbar = new HScrollBar ();
394 myform.Controls.Add (myHscrlbar);
395 myHscrlbar.BackColorChanged += new EventHandler (ScrollBar_EventHandler);
396 myHscrlbar.BackColor = Color.Red;
397 Assert.AreEqual (true, eventhandled, "B4");
398 eventhandled = false;
402 public void BackgroundImageChangedTest ()
404 Form myform = new Form ();
405 myform.Visible = true;
406 ScrollBar myHscrlbar = new HScrollBar ();
407 myform.Controls.Add (myHscrlbar);
408 myHscrlbar.BackgroundImageChanged += new EventHandler (ScrollBar_EventHandler);
409 myHscrlbar.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
410 Assert.AreEqual (true, eventhandled, "B5");
411 eventhandled = false;
414 [Test, Ignore ("Need to send proper Click / DoubleClick")]
415 public void ClickTest ()
417 Form myform = new Form ();
418 myform.Visible = true;
419 MyScrollBar myHscrlbar = new MyScrollBar ();
420 myform.Controls.Add (myHscrlbar);
421 myHscrlbar.Click += new EventHandler (ScrollBar_EventHandler);
422 myHscrlbar.MouseClick ();
424 Assert.AreEqual (false, eventhandled, "C1");
427 [Test, Ignore ("Need to send proper Click / DoubleClick")]
428 public void DoubleClickTest ()
430 Form myform = new Form ();
431 myform.Visible = true;
432 MyScrollBar myHscrlbar = new MyScrollBar ();
433 myform.Controls.Add (myHscrlbar);
434 myHscrlbar.DoubleClick += new EventHandler (ScrollBar_EventHandler);
435 myHscrlbar.MouseDoubleClick ();
437 Assert.AreEqual (false, eventhandled, "D1");
441 public void FontChangedTest ()
443 Form myform = new Form ();
444 myform.Visible = true;
445 ScrollBar myHscrlbar = new HScrollBar ();
446 myform.Controls.Add (myHscrlbar);
447 myHscrlbar.Font = new Font (FontFamily.GenericMonospace, 10);
448 myHscrlbar.FontChanged += new EventHandler (ScrollBar_EventHandler);
449 FontDialog myFontDialog = new FontDialog();
450 myHscrlbar.Font = myFontDialog.Font;
451 Assert.AreEqual (true, eventhandled, "F2");
452 eventhandled = false;
456 public void ForeColorChangedTest ()
458 Form myform = new Form ();
459 myform.Visible = true;
460 ScrollBar myHscrlbar = new HScrollBar ();
461 myform.Controls.Add (myHscrlbar);
462 myHscrlbar.ForeColorChanged += new EventHandler (ScrollBar_EventHandler);
463 myHscrlbar.ForeColor = Color.Azure;
464 Assert.AreEqual (true, eventhandled, "F3");
465 eventhandled = false;
469 public void ImeModehangedTest ()
471 Form myform = new Form ();
472 myform.Visible = true;
473 ScrollBar myHscrlbar = new HScrollBar ();
474 myform.Controls.Add (myHscrlbar);
475 myHscrlbar.ImeModeChanged += new EventHandler (ScrollBar_EventHandler);
476 myHscrlbar.ImeMode = ImeMode.Katakana;
477 Assert.AreEqual (true, eventhandled, "I2");
478 eventhandled = false;
482 public void MouseDownTest ()
484 Form myform = new Form ();
485 myform.Visible = true;
486 MyScrollBar myHscrlbar = new MyScrollBar ();
487 myform.Controls.Add (myHscrlbar);
488 myHscrlbar.MouseDown += new MouseEventHandler (ScrollBarMouse_EventHandler);
489 myHscrlbar.MouseRightDown ();
491 Assert.AreEqual (true, eventhandled, "M5");
492 eventhandled = false;
496 public void MouseMoveTest ()
498 Form myform = new Form ();
499 myform.Visible = true;
500 MyScrollBar myHscrlbar = new MyScrollBar ();
501 myform.Controls.Add (myHscrlbar);
502 myHscrlbar.MouseMove += new MouseEventHandler (ScrollBarMouse_EventHandler);
503 myHscrlbar.MoveMouse ();
505 Assert.AreEqual (true, eventhandled, "M6");
506 eventhandled = false;
510 public void MouseUpTest ()
512 Form myform = new Form ();
513 myform.Visible = true;
514 MyScrollBar myHscrlbar = new MyScrollBar ();
515 myform.Controls.Add (myHscrlbar);
516 myHscrlbar.MouseUp += new MouseEventHandler (ScrollBarMouse_EventHandler);
517 myHscrlbar.MouseRightUp ();
519 Assert.AreEqual (true, eventhandled, "M7");
520 eventhandled = false;
523 [Test, Ignore ("How can we force it to pain?")]
524 public void PaintTest ()
526 Form myform = new Form ();
527 myform.Visible = true;
528 MyScrollBar myHscrlbar = new MyScrollBar ();
529 myform.Controls.Add (myHscrlbar);
530 myHscrlbar.Paint += new PaintEventHandler (ScrollBarPaint_EventHandler);
532 myHscrlbar.Refresh ();
534 Assert.AreEqual (true, eventhandled, "P1");
535 eventhandled = false;
539 public void ScrollTest ()
541 Form myform = new Form ();
542 myform.Visible = true;
543 MyScrollBar myHscrlbar = new MyScrollBar ();
544 myform.Controls.Add (myHscrlbar);
545 myHscrlbar.Scroll += new ScrollEventHandler (ScrollBarScroll_EventHandler);
546 myHscrlbar.ScrollNow ();
548 Assert.AreEqual (true, eventhandled, "S4");
549 eventhandled = false;
553 public void TextChangedTest ()
555 Form myform = new Form ();
556 myform.Visible = true;
557 MyScrollBar myHscrlbar = new MyScrollBar ();
558 myform.Controls.Add (myHscrlbar);
559 myHscrlbar.TextChanged += new EventHandler (ScrollBar_EventHandler);
560 myHscrlbar.Text = "foo";
562 Assert.AreEqual (true, eventhandled, "T6");
563 eventhandled = false;
567 public void ValueChangeTest ()
569 Form myform = new Form ();
570 myform.Visible = true;
571 MyScrollBar myHscrlbar = new MyScrollBar ();
572 myform.Controls.Add (myHscrlbar);
573 myHscrlbar.Value = 40 ;
574 myHscrlbar.ValueChanged += new EventHandler (ScrollBar_EventHandler);
575 myHscrlbar.Value = 50 ;
576 Assert.AreEqual (true, eventhandled, "V3");
577 eventhandled = false;
581 public class MyHScrollBar : HScrollBar
583 public MyHScrollBar () : base ()
587 public Size MyDefaultSize {
588 get { return DefaultSize; }
591 public CreateParams MyCreateParams {
592 get { return CreateParams; }
597 public class MyHScrollBarTest
600 public void ProtectedTest ()
602 MyHScrollBar msbar = new MyHScrollBar ();
604 Assert.AreEqual (80, msbar.MyDefaultSize.Width, "D1");
605 // this is environment dependent.
606 //Assert.AreEqual (21, msbar.MyDefaultSize.Height, "D2");
610 public class MyVScrollBar : VScrollBar
612 public MyVScrollBar () : base ()
616 public Size MyDefaultSize {
617 get { return DefaultSize; }
620 public CreateParams MyCreateParams {
621 get { return CreateParams; }
626 public class MyVScrollBarTest
629 public void PubMethodTest ()
631 MyVScrollBar msbar = new MyVScrollBar ();
633 Assert.AreEqual (RightToLeft.No, msbar.RightToLeft, "R1");
638 public void ProtMethodTest ()
640 MyVScrollBar msbar = new MyVScrollBar ();
642 // This is environment dependent.
643 //Assert.AreEqual (21, msbar.MyDefaultSize.Width, "D3");
644 Assert.AreEqual (80, msbar.MyDefaultSize.Height, "D4");
649 public class HScrollBarTestEventsOrder
651 public string [] ArrayListToString (ArrayList arrlist)
653 string [] retval = new string [arrlist.Count];
654 for (int i = 0; i < arrlist.Count; i++)
655 retval[i] = (string)arrlist[i];
660 public void CreateEventsOrder ()
662 string[] EventsWanted = {
664 "OnBindingContextChanged",
665 "OnBindingContextChanged"
667 Form myform = new Form ();
668 myform.Visible = true;
669 MyScrollBar s = new MyScrollBar ();
670 myform.Controls.Add (s);
672 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
676 public void BackColorChangedEventsOrder ()
678 string[] EventsWanted = {
680 "OnBindingContextChanged",
681 "OnBindingContextChanged",
682 "OnBackColorChanged",
685 Form myform = new Form ();
686 myform.Visible = true;
687 MyScrollBar s = new MyScrollBar ();
688 myform.Controls.Add (s);
689 s.BackColor = Color.Aqua;
691 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
695 public void BackgroundImageChangedEventsOrder ()
697 string[] EventsWanted = {
699 "OnBindingContextChanged",
700 "OnBindingContextChanged",
701 "OnBackgroundImageChanged",
704 Form myform = new Form ();
705 myform.Visible = true;
706 MyScrollBar s = new MyScrollBar ();
707 myform.Controls.Add (s);
708 s.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
710 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
713 [Test, Ignore ("Need to send proper Click / DoubleClick")]
714 public void ClickEventsOrder ()
716 string[] EventsWanted = {
718 "OnBindingContextChanged",
719 "OnBindingContextChanged"
721 Form myform = new Form ();
722 myform.Visible = true;
723 MyScrollBar s = new MyScrollBar ();
724 myform.Controls.Add (s);
727 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
730 [Test, Ignore ("Need to send proper Click / DoubleClick")]
731 public void DoubleClickEventsOrder ()
733 string[] EventsWanted = {
735 "OnBindingContextChanged",
736 "OnBindingContextChanged"
738 Form myform = new Form ();
739 myform.Visible = true;
740 MyScrollBar s = new MyScrollBar ();
741 myform.Controls.Add (s);
742 s.MouseDoubleClick ();
744 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
748 public void FontChangedEventsOrder ()
750 string[] EventsWanted = {
752 "OnBindingContextChanged",
753 "OnBindingContextChanged"
755 Form myform = new Form ();
756 myform.Visible = true;
757 MyScrollBar s = new MyScrollBar ();
758 myform.Controls.Add (s);
759 FontDialog myFontDialog = new FontDialog();
760 s.Font = myFontDialog.Font;
762 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
766 public void ForeColorChangedEventsOrder ()
768 string[] EventsWanted = {
770 "OnBindingContextChanged",
771 "OnBindingContextChanged",
772 "OnForeColorChanged",
775 Form myform = new Form ();
776 myform.Visible = true;
777 MyScrollBar s = new MyScrollBar ();
778 myform.Controls.Add (s);
779 s.ForeColor = Color.Aqua;
781 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
785 public void ImeModeChangedChangedEventsOrder ()
787 string[] EventsWanted = {
789 "OnBindingContextChanged",
790 "OnBindingContextChanged",
793 Form myform = new Form ();
794 myform.Visible = true;
795 MyScrollBar s = new MyScrollBar ();
796 myform.Controls.Add (s);
797 s.ImeMode = ImeMode.Katakana;
799 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
803 public void MouseDownEventsOrder ()
805 string[] EventsWanted = {
807 "OnBindingContextChanged",
808 "OnBindingContextChanged",
811 Form myform = new Form ();
812 myform.Visible = true;
813 MyScrollBar s = new MyScrollBar ();
814 myform.Controls.Add (s);
817 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
821 public void MouseMoveEventsOrder ()
823 string[] EventsWanted = {
825 "OnBindingContextChanged",
826 "OnBindingContextChanged",
830 Form myform = new Form ();
831 myform.Visible = true;
832 MyScrollBar s = new MyScrollBar ();
833 myform.Controls.Add (s);
836 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
840 public void MouseUpEventsOrder ()
842 string[] EventsWanted = {
844 "OnBindingContextChanged",
845 "OnBindingContextChanged",
848 Form myform = new Form ();
849 myform.Visible = true;
850 MyScrollBar s = new MyScrollBar ();
851 myform.Controls.Add (s);
854 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
858 public void PaintEventsOrder ()
860 string[] EventsWanted = {
862 "OnBindingContextChanged",
863 "OnBindingContextChanged",
866 Form myform = new Form ();
867 myform.Visible = true;
868 MyScrollBar s = new MyScrollBar ();
869 myform.Controls.Add (s);
872 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
876 public void ScrollEventsOrder ()
878 string[] EventsWanted = {
880 "OnBindingContextChanged",
881 "OnBindingContextChanged",
885 Form myform = new Form ();
886 myform.Visible = true;
887 MyScrollBar s = new MyScrollBar ();
888 myform.Controls.Add (s);
891 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
895 public void TextChangedEventsOrder ()
897 string[] EventsWanted = {
899 "OnBindingContextChanged",
900 "OnBindingContextChanged",
903 Form myform = new Form ();
904 myform.Visible = true;
905 MyScrollBar s = new MyScrollBar ();
906 myform.Controls.Add (s);
909 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
913 public void ValueChangedEventsOrder ()
915 string[] EventsWanted = {
917 "OnBindingContextChanged",
918 "OnBindingContextChanged",
921 Form myform = new Form ();
922 myform.Visible = true;
923 MyScrollBar s = new MyScrollBar ();
924 myform.Controls.Add (s);
927 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
931 public class MyScrollBar2 : HScrollBar
933 protected ArrayList results = new ArrayList ();
934 public MyScrollBar2 () : base ()
936 this.HandleCreated += new EventHandler (HandleCreated_Handler);
937 this.BackColorChanged += new EventHandler (BackColorChanged_Handler);
938 this.BackgroundImageChanged += new EventHandler (BackgroundImageChanged_Handler);
939 this.BindingContextChanged += new EventHandler (BindingContextChanged_Handler);
940 this.Click += new EventHandler (Click_Handler);
941 this.DoubleClick += new EventHandler (DoubleClick_Handler);
942 this.FontChanged += new EventHandler (FontChanged_Handler);
943 this.ForeColorChanged += new EventHandler (ForeColorChanged_Handler);
944 this.ImeModeChanged += new EventHandler (ImeModeChanged_Handler);
945 this.MouseDown += new MouseEventHandler (MouseDown_Handler);
946 this.MouseMove += new MouseEventHandler (MouseMove_Handler);
947 this.MouseUp += new MouseEventHandler (MouseUp_Handler);
948 this.Invalidated += new InvalidateEventHandler (Invalidated_Handler);
949 this.Resize += new EventHandler (Resize_Handler);
950 this.SizeChanged += new EventHandler (SizeChanged_Handler);
951 this.Layout += new LayoutEventHandler (Layout_Handler);
952 this.VisibleChanged += new EventHandler (VisibleChanged_Handler);
953 this.Paint += new PaintEventHandler (Paint_Handler);
954 this.Scroll += new ScrollEventHandler (Scroll_Handler);
955 this.TextChanged += new EventHandler (TextChanged_Handler);
956 this.ValueChanged += new EventHandler (ValueChanged_Handler);
959 protected void HandleCreated_Handler (object sender, EventArgs e)
961 results.Add ("HandleCreated");
964 protected void BackColorChanged_Handler (object sender, EventArgs e)
966 results.Add ("BackColorChanged");
969 protected void BackgroundImageChanged_Handler (object sender, EventArgs e)
971 results.Add ("BackgroundImageChanged");
974 protected void Click_Handler (object sender, EventArgs e)
976 results.Add ("Click");
979 protected void DoubleClick_Handler (object sender, EventArgs e)
981 results.Add ("DoubleClick");
984 protected void FontChanged_Handler (object sender, EventArgs e)
986 results.Add ("FontChanged");
989 protected void ForeColorChanged_Handler (object sender, EventArgs e)
991 results.Add ("ForeColorChanged");
994 protected void ImeModeChanged_Handler (object sender, EventArgs e)
996 results.Add ("ImeModeChanged");
999 protected void MouseDown_Handler (object sender, MouseEventArgs e)
1001 results.Add ("MouseDown");
1004 protected void MouseMove_Handler (object sender, MouseEventArgs e)
1006 results.Add ("MouseMove");
1009 protected void MouseUp_Handler (object sender, MouseEventArgs e)
1011 results.Add ("MouseUp");
1014 protected void BindingContextChanged_Handler (object sender, EventArgs e)
1016 results.Add ("BindingContextChanged");
1019 protected void Invalidated_Handler (object sender, InvalidateEventArgs e)
1021 results.Add("Invalidated");
1024 protected void Resize_Handler (object sender, EventArgs e)
1026 results.Add("Resize");
1029 protected void SizeChanged_Handler (object sender, EventArgs e)
1031 results.Add("SizeChanged");
1034 protected void Layout_Handler (object sender, LayoutEventArgs e)
1036 results.Add("Layout");
1039 protected void VisibleChanged_Handler (object sender, EventArgs e)
1041 results.Add("VisibleChanged");
1044 protected void Paint_Handler (object sender, PaintEventArgs e)
1046 results.Add("Paint");
1049 protected void Scroll_Handler (object sender, ScrollEventArgs e)
1051 results.Add ("Scroll");
1054 protected void TextChanged_Handler (object sender, EventArgs e)
1056 results.Add ("TextChanged");
1059 protected void ValueChanged_Handler (object sender, EventArgs e)
1061 results.Add ("ValueChanged");
1064 public ArrayList Results {
1065 get { return results; }
1068 public void MoveMouse ()
1074 m.Msg = (int)WndMsg.WM_NCHITTEST;
1075 m.HWnd = this.Handle;
1076 m.WParam = (IntPtr)0x0;
1077 m.LParam = (IntPtr)0x1c604ea;
1078 this.WndProc(ref m);
1080 m.Msg = (int)WndMsg.WM_SETCURSOR;
1081 m.HWnd = this.Handle;
1082 m.WParam = (IntPtr)0x100448;
1083 m.LParam = (IntPtr)0x2000001;
1084 this.WndProc(ref m);
1086 m.Msg = (int)WndMsg.WM_MOUSEFIRST;
1087 m.HWnd = this.Handle;
1088 m.WParam = (IntPtr)0x0;
1089 m.LParam = (IntPtr)0x14000b;
1090 this.WndProc(ref m);
1092 m.Msg = (int)WndMsg.WM_MOUSEHOVER;
1093 m.HWnd = this.Handle;
1094 m.WParam = (IntPtr)0x0;
1095 m.LParam = (IntPtr)0x14000b;
1096 this.WndProc(ref m);
1099 public void MouseRightDown()
1105 m.Msg = (int)WndMsg.WM_RBUTTONDOWN;
1106 m.HWnd = this.Handle;
1107 m.WParam = (IntPtr)0x01;
1108 m.LParam = (IntPtr)0x9004f;
1109 this.WndProc(ref m);
1112 public void MouseClick()
1118 m.Msg = (int)WndMsg.WM_LBUTTONDOWN;
1119 m.HWnd = this.Handle;
1120 m.WParam = (IntPtr)0x01;
1121 m.LParam = (IntPtr)0x9004f;
1122 this.WndProc(ref m);
1126 m.Msg = (int)WndMsg.WM_LBUTTONUP;
1127 m.HWnd = this.Handle;
1128 m.WParam = (IntPtr)0x01;
1129 m.LParam = (IntPtr)0x9004f;
1130 this.WndProc(ref m);
1133 public void MouseDoubleClick ()
1139 public void MouseRightUp()
1145 m.Msg = (int)WndMsg.WM_RBUTTONUP;
1146 m.HWnd = this.Handle;
1147 m.WParam = (IntPtr)0x01;
1148 m.LParam = (IntPtr)0x9004f;
1149 this.WndProc(ref m);
1152 public void ScrollNow ()
1159 m.HWnd = this.Handle;
1160 m.WParam = (IntPtr)0x1;
1161 m.LParam = (IntPtr)0x1a051a;
1162 this.WndProc(ref m);
1165 m.HWnd = this.Handle;
1166 m.WParam = (IntPtr)0x1;
1167 m.LParam = (IntPtr)0x12eb34;
1168 this.WndProc(ref m);
1173 public class HScrollBarTestEventsOrder2
1175 public string [] ArrayListToString (ArrayList arrlist)
1177 string [] retval = new string [arrlist.Count];
1178 for (int i = 0; i < arrlist.Count; i++)
1179 retval[i] = (string)arrlist[i];
1184 public void CreateEventsOrder ()
1186 string[] EventsWanted = {
1188 "BindingContextChanged",
1189 "BindingContextChanged"
1191 Form myform = new Form ();
1192 myform.Visible = true;
1193 MyScrollBar2 s = new MyScrollBar2 ();
1194 myform.Controls.Add (s);
1196 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1200 public void BackColorChangedEventsOrder ()
1202 string[] EventsWanted = {
1204 "BindingContextChanged",
1205 "BindingContextChanged",
1209 Form myform = new Form ();
1210 myform.Visible = true;
1211 MyScrollBar2 s = new MyScrollBar2 ();
1212 myform.Controls.Add (s);
1213 s.BackColor = Color.Aqua;
1215 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1219 public void BackgroundImageChangedEventsOrder ()
1221 string[] EventsWanted = {
1223 "BindingContextChanged",
1224 "BindingContextChanged",
1226 "BackgroundImageChanged"
1229 Form myform = new Form ();
1230 myform.Visible = true;
1231 MyScrollBar2 s = new MyScrollBar2 ();
1232 myform.Controls.Add (s);
1233 s.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
1235 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1238 [Test, Ignore ("Need to send proper Click / DoubleClick")]
1239 public void ClickEventsOrder ()
1241 string[] EventsWanted = {
1243 "BindingContextChanged",
1244 "BindingContextChanged"
1246 Form myform = new Form ();
1247 myform.Visible = true;
1248 MyScrollBar2 s = new MyScrollBar2 ();
1249 myform.Controls.Add (s);
1252 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1255 [Test, Ignore ("Need to send proper Click / DoubleClick")]
1256 public void DoubleClickEventsOrder ()
1258 string[] EventsWanted = {
1260 "BindingContextChanged",
1261 "BindingContextChanged"
1263 Form myform = new Form ();
1264 myform.Visible = true;
1265 MyScrollBar2 s = new MyScrollBar2 ();
1266 myform.Controls.Add (s);
1267 s.MouseDoubleClick ();
1269 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1273 public void FontChangedEventsOrder ()
1275 string[] EventsWanted = {
1277 "BindingContextChanged",
1278 "BindingContextChanged"
1280 Form myform = new Form ();
1281 myform.Visible = true;
1282 MyScrollBar2 s = new MyScrollBar2 ();
1283 myform.Controls.Add (s);
1284 FontDialog myFontDialog = new FontDialog();
1285 s.Font = myFontDialog.Font;
1287 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1291 public void ForeColorChangedEventsOrder ()
1293 string[] EventsWanted = {
1295 "BindingContextChanged",
1296 "BindingContextChanged",
1300 Form myform = new Form ();
1301 myform.Visible = true;
1302 MyScrollBar2 s = new MyScrollBar2 ();
1303 myform.Controls.Add (s);
1304 s.ForeColor = Color.Aqua;
1306 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1310 public void ImeModeChangedChangedEventsOrder ()
1312 string[] EventsWanted = {
1314 "BindingContextChanged",
1315 "BindingContextChanged",
1318 Form myform = new Form ();
1319 myform.Visible = true;
1320 MyScrollBar2 s = new MyScrollBar2 ();
1321 myform.Controls.Add (s);
1322 s.ImeMode = ImeMode.Katakana;
1324 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1328 public void MouseDownEventsOrder ()
1330 string[] EventsWanted = {
1332 "BindingContextChanged",
1333 "BindingContextChanged",
1336 Form myform = new Form ();
1337 myform.Visible = true;
1338 MyScrollBar2 s = new MyScrollBar2 ();
1339 myform.Controls.Add (s);
1340 s.MouseRightDown ();
1342 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1346 public void MouseMoveEventsOrder ()
1348 string[] EventsWanted = {
1350 "BindingContextChanged",
1351 "BindingContextChanged",
1354 Form myform = new Form ();
1355 myform.Visible = true;
1356 MyScrollBar2 s = new MyScrollBar2 ();
1357 myform.Controls.Add (s);
1360 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1364 public void MouseUpEventsOrder ()
1366 string[] EventsWanted = {
1368 "BindingContextChanged",
1369 "BindingContextChanged",
1372 Form myform = new Form ();
1373 myform.Visible = true;
1374 MyScrollBar2 s = new MyScrollBar2 ();
1375 myform.Controls.Add (s);
1378 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1382 public void PaintEventsOrder ()
1384 string[] EventsWanted = {
1386 "BindingContextChanged",
1387 "BindingContextChanged",
1390 Form myform = new Form ();
1391 myform.Visible = true;
1392 MyScrollBar2 s = new MyScrollBar2 ();
1393 myform.Controls.Add (s);
1397 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1401 public void ScrollEventsOrder ()
1403 string[] EventsWanted = {
1405 "BindingContextChanged",
1406 "BindingContextChanged",
1410 Form myform = new Form ();
1411 myform.Visible = true;
1412 MyScrollBar2 s = new MyScrollBar2 ();
1413 myform.Controls.Add (s);
1416 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1420 public void TextChangedEventsOrder ()
1422 string[] EventsWanted = {
1424 "BindingContextChanged",
1425 "BindingContextChanged",
1428 Form myform = new Form ();
1429 myform.Visible = true;
1430 MyScrollBar2 s = new MyScrollBar2 ();
1431 myform.Controls.Add (s);
1434 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
1438 public void ValueChangedEventsOrder ()
1440 string[] EventsWanted = {
1442 "BindingContextChanged",
1443 "BindingContextChanged",
1446 Form myform = new Form ();
1447 myform.Visible = true;
1448 MyScrollBar2 s = new MyScrollBar2 ();
1449 myform.Controls.Add (s);
1452 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));