2012-10-19 4 views
1

이 오류가 계속 발생합니다. HomeInventory2.Form1.Form1 (System.Collections.Generic.IEnumerable)에 가장 적합한 오버로드 된 메서드 일치가 잘못된 부분을 포함하고 있습니다. 동시에 같은 지점에서이 오류가 발생합니다. - 인수 1 : 'string'을 System.Collections.Generic.IEnumerable로 변환 할 수 없습니다.오버로드 된 메서드 일치에 잘못된 인수가 있습니다.

** 죄송합니다 - 코드를 추가하면 코드가 문자열을 보냅니다. 다른 폼으로 나누어서 별도의 텍스트 상자에 배치합니다.

namespace HomeInventory2 
{ 
    public partial class Form2 : Form 
    { 
     OpenFileDialog openFileDialog1 = new OpenFileDialog(); 
     public Form2() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, System.EventArgs e) 
     { 
      if (openFileDialog1.ShowDialog() == DialogResult.OK) 
      { 
       richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.RichText); 
      } 
     } 

     private void button2_Click(object sender, EventArgs e) 
     { 
      Application.Run**(new Form1(richTextBox1.Text))**; 
     } 
    } 
} 
+0

일반적으로 예상되는 것을 포함시키려는 경우 질문 할 때 도움이됩니다. 코드에서 얻은 목표가 무엇인지는 완전히 명확하지 않습니다 (이전 질문을 보는 것 이외에는). 그러면 모든 사람들이 더 나은 답변을 제공하는 데 도움이됩니다. –

+0

문자열을 Form1의 생성자에 전달하고 있지만 IEnumerable을 사용하는 Form1의 매개 변수가있는 생성자 만 있다고 불평합니다. – Joe

답변

2

첫째로, 당신은 아마 여기 Application.Run를 호출하고 싶지 않아 - 당신이 이미 형태를 갖는다.

서식있는 텍스트 상자의 내용을 줄 단위로 나누고이 내용을 새 양식에 전달하고 표시하고 싶다고 생각합니다. 그렇다면 다음을 수행 할 수 있습니다.

private void button2_Click(object sender, EventArgs e) 
    { 
     // richTextBox1.Lines is a string[], which works with IEnumerable<string> (per line) 
     var form = new Form1(richTextBox1.Lines); 
     // Just show the form 
     form.Show(); 
    } 
관련 문제