0

以下のコードを使用して分離しているlblsubject.textのEnglish、Scienceのようなカンマ区切りの値があります。以下のコードは、オーバーライドされると、Label1 と Label2 の両方に Science を表示しますが、あるラベルに英語を表示し、別のラベルに Science を表示したいと考えています。それを行う方法...plsは助けて..!

string[] lines = Regex.Split(lblsubject.Text, ",");

foreach (string line in lines)
 {
   Label1.Text = line;
   Label2.Text = line;          
 }
4

3 に答える 3

3

配列に 2 つの要素を取得します。なぜ foreach ループを使用しているのですか。できるよ

Label1.Text = lines[0];
Label2.Text = lines[1]; 
于 2012-06-14T05:11:55.597 に答える
2

ラベルの数がわからない場合は、ラベルを動的に追加することをお勧めします。(また、これには Regex.Split はやり過ぎです。String.Split 拡張メソッドを使用することもできます。)

string[] lines = lblsubject.Text.Split(',');

for (int i=0 ; i<lines.Length ; i++)
{
    var newLabel = new Label();
    newLabel.Text = lines[i];
    form1.Controls.Add(newLabel);
}

form1は、ラベルを追加する任意のコンテナー コントロールです

別の方法として、HTML を出力に直接追加することもできます。このようなもの:

var html = string.Join("<br/>", 
    lblsubject.Text.Split(',').Select( 
        category => string.Format("<div>{0}</div>", category) 
    )
);
panel1.Controls.Add(new LiteralControl(html));

(ここでも、panel1は出力のコンテナにすぎません。)

コメントごとに編集

DrowDownList1.Items.AddRange(
    lblsubject.Text.Split(',')
        .Select(category => new ListItem(category))
        .ToArray()
);
于 2012-06-14T05:19:26.753 に答える
0

使用Split()機能

string[] lines = lblsubject.Text.Split(',');

Label1.Text = lines[0];         
Label2.Text = lines[1]; 
于 2012-06-14T05:14:51.700 に答える