2017-11-01 1 views
0

저는 C#으로 시작합니다. 다음 코드를 실행하고 생성 버튼을 클릭하면 출력이 텍스트 상자에 표시되지 않습니다. 왜 이런거야? 함수 palendrome을 호출하고 텍스트 상자를 업데이트하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 내가 놓친 게 있니? 고쳐야 할 부분은 무엇입니까? 오류가 표시되지 않습니다. 도와주세요. . :(이 코드가 텍스트 상자에 출력을 표시하지 않는 이유는 무엇입니까?

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace PalendromeChecker 
{ 


public partial class Form1 : Form 
{ 
    int num; 
    int count; 
    static int result; 
    int setPalendromeValue; 
    int copyCount; 


    public Form1() 

    { 
     InitializeComponent(); 
    } 

    private void textBox2_TextChanged(object sender, EventArgs e) 
    { 
     count = Int32.Parse(textBox2.Text); 
     copyCount = count; 

     if (!int.TryParse(textBox2.Text, out count)) 
     { 
      label4.Visible = true; 
      label4.Text = "Please enter a positive number within the range."; 
     } 
     else if (count < 0 || count > 100) 
     { 
      label4.Visible = true; 
      label4.Text = "Please enter a positive number within the range."; 
     } 

    } 

    public static int palendrome(int num) 
    { 
     int temp = num; ; 
     int r; 
     int rv = 0; 
     while (num > 0) 
     { 
      r = num % 10; 
      rv = rv * 10 + r; 
      num /= 10; 

     } 
     if (rv == temp) 
     { 
      result = temp; 
      return temp; 

     } 
     else 
     { 
      return 0; 
     } 

    } 



    private void textBox3_TextChanged(object sender, EventArgs e) 
    { 
     while (copyCount != 0) 
     { 
      string resultInString = result.ToString(); 
      textBox3.Text = resultInString; 
      textBox3.Visible = true; 
     } 
    } 

    private void textBox1_TextChanged(object sender, EventArgs e) 
    { 
     num = Int32.Parse(textBox1.Text); 
     //MessageBox.Show(this.textBox1.Text); 



     if (!int.TryParse(textBox1.Text, out num)) 
     { 
      //MessageBox.Show("This is a number only field"); 
      //return; 
      label4.Visible = true; 
      label4.Text = "Please enter a positive number within the range."; 

     } 
     else if (num < 0 || num > 1000000000) 
     { 
      // MessageBox.Show("Invalid Input needs to be between 0 and 1,000,000,000"); 
      label4.Visible = true; 
      label4.Text = "Please enter a positive number within the range."; 
     } 


    } 

    private void label2_Click(object sender, EventArgs e) 
    { 

    } 

    private void label4_Click(object sender, EventArgs e) 
    { 
     label4.Visible = false; 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     int palendromeValue; 

     while (count != 0) 
     { 
      palendromeValue = palendrome(num); 
      count--; 


     } 

    } 

} 

}

+0

'무엇이 잘못 되었나요? 내가 놓친 게 있니? 고쳐야 할 부분은 무엇입니까? 오류가 표시되지 않습니다. 제발 도와주세요. "- 질문에 어떤 가치도 추가하지 않습니다. 단지 하나만 충분했을 것입니다. –

+0

코드를 디버깅 했습니까? 문제의 원인이 될 수있는 코드의 부분은 무엇입니까? –

답변

0

함수 palendrome이 textbox3에 TextBox1에의에 어쨌든 출력에서 ​​생성되지 않기 때문에 그것은 텍스트 상자에 모든 입력을 생성하지 않는

이 시도 :

textBox1.Text = "output"; //Whatever output you want. 
0

textBox3의 코드를 표시하려면 text 속성을 업데이트해야합니다. 텍스트 변경 처리기.

while (count != 0) 또는 while (copyCount != 0)은 무한 루프와 비슷합니다 (거의). 그들은 당신의 양식을 무응답로 만들 것입니다. 당신은 그것들을 피해야합니다.

관련 문제