瀏覽代碼

Removed Loaded event and changed LayoutComplete event.

BDisp 5 年之前
父節點
當前提交
92dda816a5
共有 1 個文件被更改,包括 7 次插入9 次删除
  1. 7 9
      Terminal.Gui/Views/ComboBox.cs

+ 7 - 9
Terminal.Gui/Views/ComboBox.cs

@@ -126,9 +126,13 @@ namespace Terminal.Gui {
 
 
 			// On resize
 			// On resize
 			LayoutComplete += (LayoutEventArgs a) => {
 			LayoutComplete += (LayoutEventArgs a) => {
-				search.Width = Bounds.Width;
-				listview.Width = autoHide ? Bounds.Width - 1 : Bounds.Width;
-				listview.Height = CalculatetHeight ();
+				if (!autoHide && search.Frame.Width != Bounds.Width ||
+					autoHide && search.Frame.Width != Bounds.Width - 1) {
+					search.Width = listview.Width = autoHide ? Bounds.Width - 1 : Bounds.Width;
+					listview.Height = CalculatetHeight ();
+					search.SetRelativeLayout (Bounds);
+					listview.SetRelativeLayout (Bounds);
+				}
 			};
 			};
 
 
 			listview.SelectedItemChanged += (ListViewItemEventArgs e) => {
 			listview.SelectedItemChanged += (ListViewItemEventArgs e) => {
@@ -138,12 +142,6 @@ namespace Terminal.Gui {
 				}
 				}
 			};
 			};
 
 
-			// This is needed in addition to 'Adding' to trigger the capture the Bounds.Width & Height
-			Application.Loaded += (Application.ResizedEventArgs a) => {
-				SetNeedsLayout ();
-				Search_Changed (Text);
-			};
-
 			Adding += (View v) => {
 			Adding += (View v) => {
 
 
 				// Determine if this view is hosted inside a dialog
 				// Determine if this view is hosted inside a dialog