2014-03-06 3 views
0

완전히 새로운 내용입니다. 클릭 한 이벤트 버튼에 따라 적절한 텍스트 파일에 작성해야합니다. 그러나 입력 데이터는 동일한 텍스트 파일에 씁니다. 쓰고 적절한 텍스트 파일을 어떻게 지정합니까?텍스트 파일에 쓰기

텍스트 파일의 이름과 떨어져 동일한 코딩, 내가 현재 사용하고 있습니다 :

private void btnItemAdd_Click(object sender, EventArgs e) 
{ 
    string sItem; 
    string sNumber; 

    if (rdoDrinks.Checked == false && rdoConfectionary.Checked == false) 
    { 
     //Message to remind user to select category 
     MessageBox.Show("Please select a category"); 
     txtItem.Focus(); 
    } 
    { 
     { 
      if ((rdoDrinks.Checked == true) && (txtItem.Text != "") && (txtItemNumber.Text == "")) 

       //Message to remind user to enter a number 
       MessageBox.Show("Please input a number"); 
       txtItemNumber.Focus(); 

      if ((txtItem.Text != "") && (txtItemNumber.Text != "")) 
      { 
       //add Item to end of list 
       lstItems.Items.Add(string.Format("{0, -15} {1, -20}", txtItem.Text, txtItemNumber.Text)); 
       txtCount.Text = lstItems.Items.Count.ToString(); 
       //set focus to the text box 
       txtItem.Focus(); 

       StreamWriter sw = File.AppendText("Drinks.txt"); 
       { 
        sItem = txtItem.Text; 
        sw.WriteLine(sItem); 

        sNumber = txtItemNumber.Text; 
        sw.WriteLine(sNumber); 

       } 

       MessageBox.Show("Details have been saved"); 
       txtItem.Clear(); 
       txtItemNumber.Clear(); 

       sw.Close(); 
      } 
      else if ((rdoConfectionary.Checked == true) && (txtItem.Text != "") && (txtItemNumber.Text == "")) 
       //Message to remind user to enter a number 
       MessageBox.Show("Please input a number"); 
       txtItemNumber.Focus(); 

      if ((txtItem.Text != "") && (txtItemNumber.Text != "")) 
      { 
       //add Item to end of list 
       lstItems.Items.Add(string.Format("{0, -15} {1, -20}", txtItem.Text, txtItemNumber.Text)); 
       txtCount.Text = lstItems.Items.Count.ToString(); 
       //set focus to the text box 
       txtItem.Focus(); 

       StreamWriter sw = File.AppendText("Confectionary.txt"); 
       { 
        sItem = txtItem.Text; 
        sw.WriteLine(sItem); 

        sNumber = txtItemNumber.Text; 
        sw.WriteLine(sNumber); 
       } 

       MessageBox.Show("Details have been saved"); 
       txtItem.Clear(); 
       txtItemNumber.Clear(); 

       sw.Close(); 
      } 
     } 
    } 
} 

답변

1

당신은 몇 가지 문제가 있습니다

  1. 당신은 후에 다른 누락을 먼저 if.

  2. 아래 코드는 결코 true이 될 수 없습니다.

if

합니다 ( txtItemNumber.Text 비교가 문제가) 충돌합니다. 그러므로 Drinks.txt에 글을 남기지 않을 것입니다 :

if ((rdoDrinks.Checked == true) && (txtItem.Text != "") && (txtItemNumber.Text == "")) 

... 

if ((txtItem.Text != "") && (txtItemNumber.Text != "")) 
+0

감사합니다. 귀하의 조언을 듣고 난 후 문제를 해결했습니다. 그러나 한 점, 그것은 항상 Dections.txt 파일에 Confectionary.txt 파일보다는 썼습니다. 그러나 그것은 분류되었습니다. – user3387822

+0

@ user3387822 : 여기 새로 온 사람이기 때문에 대답이 충분한 경우 질문에 답변으로 표시하는 것을 잊지 마십시오. [FAQ # why-vote]를 참조하십시오. –