2016-11-09 16 views
-1

私のコードは、私がデータを持つファイルを持っているC#のWindowsフォーム
です2〜7 /テン
マイケル七/九

C#の配列の文字列は、


ような配列でそれらを持ってしようとしています
string[] Names = File.ReadAllLines("C:\Students\Name.txt", Encoding.Default); 



RadioButton[] n = new RadioButton[Names.Length]; 

for (int i = 0; i < Names.Length; i++) 
{ 
    n[i] = new RadioButton(); 
    n[i].Text = Names[i]; 
    n[i].Location = new Point(10, 10 + i * 20); 
    groupBox1.Controls.Add(n[i]); 
} 

グループ無線のボタンでそれらを持っている。しかし、それは私がEncoding.DefaultとEncoding.UTF8が、同じ問題なくしようとした私の添付画像
として示しています。
私は間違って何をしていますか?私のイメージを見て助けてください。前もって感謝します!

enter image description here

+0

次の2つの質問をしているようですねここに。昨日ちょうどそのファイルを読んだことをもう一度聞いたことはありませんか?それは誰ですか?私はファイルの行末の形式、 'lf'や' crlf'の形式に関する答えは見たことがありませんか? – clarkitect

+0

@clarkitect迅速な対応をお願いします。私は申し訳ありません、はい、それはラジオボタンで私の配列の文字列を実際には同じ質問すべてが実際にしたいです。ところで、それは何の意味ですか?それはどういう意味ですか?申し訳ありませんが短い言葉のために新しいです;;) –

+0

'lf'は改行の略で、' cr'は「ハードリターン」の本当に昔ながらの名前である「キャリッジリターン」の略です。ファイル内の文字で、ファイルの各「行」を終了させます。実際のファイルはコードではなくプレーンテキスト(またはpastebinなどのリンク)として貼り付けられているため、実際のファイルは実際には見られませんでした。あなたが見ている結果は、ファイルの内容を問題にします。もう一つの可能​​性は、ラジオボタンのラベルが '/'文字を何らかの形で解釈していることです。 – clarkitect

答えて

0

私はあなたのファイルが最後に空の行が含まれて推測しています。あなたは、ラジオボタンを作成する前にそれらを削除しようとすることができます:

for (int i = 0; i < Names.Length; i++) 
{ 
    var name = Names[i]; 
    if(name.Trim() == string.Empty) continue; 

    n[i] = new RadioButton(); 
    n[i].Text = Names[i]; 
    n[i].Location = new Point(10, 10 + i * 20); 
    groupBox1.Controls.Add(n[i]); 
} 

あなたのテキストがトリミングされている場合は、コントロールの幅を大きくしようとすることができます:

n[i].Width = 300; // Put a value which will show the entire text 
+0

ありがとう、私はファイルに空の行が含まれていますが、固定されていますが、同じ問題が残っています。すべての行の一部分を文字列として表示することはできません。私はイメージ1にイメージ2が好きではないと期待した。 –

+0

コントロールの幅を広げようとする –

+1

Mariusz Jamro、ありがとう、今それは期待どおりに働いている。 –