2016-08-12 3 views
2

데이터를 제출 한 후 C#에서 Windows 양식의 내용을 지우려고합니다.양식을 제출 한 후 "comboBox"의 내용을 지우는 방법

나는 다음과 같은 코드를 사용하여 텍스트 상자에 대해이 작업을 수행하기 위해 관리해야 :

foreach (Control c in Controls) 
{ 
    if (c is TextBox) 
    { 
     c.Text = ""; 

는 그러나, 나는 양식 내에서 "콤보"에 대해 동일한 작업을 완료하는 데 어려움을 겪고 있어요. 다음과 같이 코드 변형을 사용하려고 시도했지만 작동하지 않는 것 같습니다. 다음과 같이

if (c is ComboBox) 
{ 
    c.Text = ""; 

그래서 전체 코드는 같습니다

foreach (Control c in Controls) 
{ 
    if (c is TextBox) 
    { 
     c.Text = ""; 
    } 
    if (c is ComboBox) 
    { 
     c.Text = ""; 
    } 

사람이 결의안을 제안 할 수 있습니다, 내가 뭘 놓친 거지?

친절 감사

이안

+6

사용을'comboBox.Items.Clear(); ' –

+0

당신이 윈폼 콤보 나에 대해 이야기하고 있는가? 그리고 코드 시작 부분에 어떻게 콤보를 채우고 있습니까? 콤보 항목을 지우는 효과적인 방법을 알려주는 데 필요합니다. – Steve

+0

예 WinForms 콤보 박스이며 드롭 다운 스타일은 "DropDownList"입니다. –

답변

1

코드는 다음과 같이 진행됩니다

//your submission of the form code here... 

foreach (Control c in this.Controls) 
{ 
    if (c is TextBox) 
    {      
     ((TextBox)c).Clear(); 
     //c.Text = String.Empty; 
    } 
    if (c is ComboBox) 
    { 
     ((ComboBox)c).Items.Clear(); 
    } 
} 
+1

많은 감사 Rakitic, 당신은 완벽하게 작동 제안! –

2

시도

if (c is ComboBox) 
{ 
    c.Items.Clear(); 
} 
1

예를 들어 당신이, 당신이 들어이

YourForm.Controls.OfType<TextBox>().ToList().ForEach(textBox => textBox.Clear()); 

같은 일을 할 수있는 텍스트 상자를 모두 취소하고 싶은 말은 콤보 상자 같은 일을 할 수있다

YourForm.Controls.OfType<ComboBox>().ToList().ForEach(comboBox => comboBox.Items.Clear()); 
관련 문제