2013-11-25 47 views
0

我一直在努力的TabControl在C#。我在哪裏添加了全部10個選項卡中的文本框,標籤,datagridviews,面板。當我試圖在文本框中使用自動完成時,它給了我一個異常,指出「錯誤創建窗口句柄Win32異常」。以下是我的代碼:錯誤使用C#創建窗口句柄

private void textBoxCustomerMNO_Enter(object sender, EventArgs e) 
    { 

     textBoxCustomerMNO.AutoCompleteMode = AutoCompleteMode.SuggestAppend; 
     textBoxCustomerMNO.AutoCompleteSource = AutoCompleteSource.CustomSource; 
     AutoCompleteStringCollection CustomerMobileNo = new AutoCompleteStringCollection(); 

     string Query = "select PATIENT_MNO from MEDICINES_SALE_RECEPIT"; 
     DataTable CustomerNos = clsConnection.GetDataTable(Query); 
     if (CustomerNos.Rows.Count > 0) 
     { 
      foreach(DataRow row in CustomerNos.Rows) 
      { 
       CustomerMobileNo.Add(row["PATIENT_MNO"].ToString().Trim()); 
      } 
     } 

    } 

1.連接類已創建。

+0

哪條線拋出異常? –

+0

textBoxCustomerMNO.AutoCompleteMode = AutoCompleteMode.SuggestAppend; – user3032171

+0

該代碼執行或第一次拋出異常..? –

回答

0

我不得不當我要設置在GotFocus事件的文本框的AutoCompleteMode性質類似的問題。這種行爲很奇怪,但你可以通過以前Enter事件或事件或通過在設計模式的屬性窗口(如果在創建文本框&當然存在於設計模式)GotFocus事件例如設置AutoCompleteMode財產很容易解決。

//put this in your **Form-Load** event: 
textBoxCustomerMNO.AutoCompleteMode = AutoCompleteMode.SuggestAppend; 
//.. and remove it from the textBoxCustomerMNO_Enter event! 

如果創建textBoxCustomerMNO文本動態,然後設置AutoCompleteMode屬性也有和定義Enter甚至在:

t = new TextBox(); 
t.AutoCompleteMode = AutoCompleteMode.SuggestAppend; //set this before Enter event! 
t.Enter += new EventHandler(...) 
0

如果大於0,釋放由Component使用的所有資源

 if (this.Handle.ToInt32() > 0) 
      { 

       if (components != null) 
       { 
        components.Dispose(); 
       } 
      }