New test.
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / ComboBox.cs
index 3e0a9c727ff7aa418a0a62b4018c40d1431b21d5..89bf462a095e3f93960b9b321e6ae56670a5a5e0 100644 (file)
@@ -228,6 +228,7 @@ namespace System.Windows.Forms
                                                textbox_ctrl.Text = GetItemText (selected_item);
                                        textbox_ctrl.BorderStyle = BorderStyle.None;
                                        textbox_ctrl.TextChanged += new EventHandler (OnTextChangedEdit);
+                                       textbox_ctrl.Click += new EventHandler (OnTextBoxClick);
 
                                        if (IsHandleCreated == true) {
                                                Controls.AddImplicit (textbox_ctrl);
@@ -1190,11 +1191,18 @@ namespace System.Windows.Forms
                        Draw (ClientRectangle, pevent.Graphics);                        
                }
                
+               private void OnTextBoxClick (object sender, EventArgs e)
+               {
+                       OnClick (e);
+               }
+
                private void OnTextChangedEdit (object sender, EventArgs e)
                {
                        if (process_textchanged_event == false)
                                return; 
                                
+                       OnTextChanged (EventArgs.Empty);
+
                        int item = FindStringCaseInsensitive (textbox_ctrl.Text);
                        
                        if (item == -1)
@@ -1222,7 +1230,7 @@ namespace System.Windows.Forms
                void UpdateBounds ()
                {
                        if (requested_height != -1)
-                               SetBoundsCore (0, 0, 0, requested_height, BoundsSpecified.Height);
+                               SetBounds (0, 0, 0, requested_height, BoundsSpecified.Height);
                }
 
                private void UpdatedItems ()
@@ -1275,6 +1283,12 @@ namespace System.Windows.Forms
                                        object_items[index] = value;
                                        if (owner.listbox_ctrl != null)
                                                owner.listbox_ctrl.InvalidateItem (index);
+                                       if (index == owner.SelectedIndex) {
+                                               if (owner.textbox_ctrl == null)
+                                                       owner.Refresh ();
+                                               else
+                                                       owner.textbox_ctrl.SelectedText = value.ToString ();
+                                       }
                                }
                        }
 
@@ -1773,7 +1787,7 @@ namespace System.Windows.Forms
                                        return;
                                top_item = item;
                                UpdateLastVisibleItem ();
-                               Refresh ();
+                               Invalidate ();
                        }                       
 
                        protected override void OnMouseDown (MouseEventArgs e)
@@ -1873,7 +1887,7 @@ namespace System.Windows.Forms
 
                                top_item =  vscrollbar_ctrl.Value;
                                UpdateLastVisibleItem ();
-                               Refresh ();
+                               Invalidate ();
                        }                       
                        
                        protected override void WndProc(ref Message m) {