2014-01-27 4 views
1

내가하고 싶은 것은 메시지 상자 (작동 중임)를 표시하고 MessageBox.Show(textBox1.Text, textBox2.Text) 코드를 가져 와서 단추를 클릭 할 때 richtextbox에 넣는 것입니다. 그래도 오류가 발생합니다. 암시 적으로 'void'를 'string'유형으로 변환 할 수 없습니까? 어떻게 할 수 있습니까?텍스트 상자에 코드 표시

private void button1_Click(object sender, EventArgs e) 
{ 
    yo(); 
    richTextBox1.Text = yo(); 
} 
void yo() 
{ 
    MessageBox.Show(textBox1.Text, textBox2.Text); 
} 
+0

일을 충분합니다. 에야디야(); –

답변

3

void 메서드는 값을 반환하지 않습니다. 문자열을 반환하기 위해 방법을 변경하는 것이 좋습니다 :

string yo() 
{ 
    MessageBox.Show(textBox1.Text, textBox2.Text); 
    return textBox1.Text + " " + textBox2.Text; 
} 

편집 귀하의 의견에 따라 :

composite formatting 사용 :

return string.Format("MessageBox.Show(\"{0}\", \"{1}\");", textBox1.Text, textBox2.Text); 
+1

그 덕분에 완벽하게 작동했습니다! – gdawgholmes

4

yo() 반환 void 아닌 string. 먼저 yo()을 호출 한 다음 richTextBox1.Textyo()이 반환하는 값으로 설정하면 컴파일러에서 불평하는 이유가됩니다.

당신은 다음, stringyo()의 반환 값을 변경 그것에서 string을 반환하거나 richTextBox1.Text로 설정하려는 string을 만듭니다 모두 다른 방법을 쓸 중 하나가 필요합니다.

0

void 방법은 값을 반환하지 않습니다.

0

내가 틀렸다면 수정하십시오.

서식있는 텍스트 상자에 "MessageBox.Show (textBox1.Text, textBox2.Text)"문자열을 표시 하시겠습니까?
그래서 다음은 당신의 방법 이름

string yo() 
{ 
    return "MessageBox.Show(textBox1.Text, textBox2.Text)"; 
} 
+0

그는 "MessageBox.Show ..."문자열을 표시하지 않고 "messagebox 표시"를 원합니다. – Johnny

+0

tbh, 나는 그 접근법을 좋아한다. – Sinatr

+1

@Johnny 어쩌면 당신은 너무 빨리 판단 할 수 있었을 것입니다. 제공된 대답은 제가 제안한 것과 같은 결과를 갖는 것 같습니다. –

관련 문제