PDA

View Full Version : خواندن سطرهای MultiLine TextBox



Mohamad1362
پنج شنبه 22 دی 1390, 19:36 عصر
من میخوام سطرهای MultiLine TextBox رو جداگانه بخونم و هر سطر رو داخل یه Label قرار بدم ، میشه راهنمایی کنید ، ممنون

saeedgharedaghi
پنج شنبه 22 دی 1390, 20:16 عصر
string[] multiLine = TextBox1.Text.Split('\n');
Label1.Text = multiLine[0];
Label1.Text = multiLine[1];
Label1.Text = multiLine[2];

reza4359
پنج شنبه 22 دی 1390, 21:47 عصر
دوست عزیز حالا اگر بخواهیم تعداد سطر ها رو با یک حلقه foreche بگیریم باید چکار کنیم؟

saeedgharedaghi
پنج شنبه 22 دی 1390, 22:02 عصر
string[] multiLine = TextBox1.Text.Split('\n');
foreach (string line in multiLine)
{
//کد مورد نظر

}


میتونی یه شمارنده بذاری داخل foreach.
ولی راه ساده تر اینه که تعداد سطرها رو میتونی با دستور زیر بدست بیاری



int numLine=multiLine.Length;

reza4359
پنج شنبه 22 دی 1390, 22:21 عصر
نه منظورم اینه که تعداد سطرهایی که مقدارشون رومیخوایم چطوری به دست بیاریم
یعنی شماره سطر رو با حلقه به دست بیاریم
مثل این ولی با تبدیل نوع داده مشکل داره
string[] multiLine = TextBox1.Text.Split('\n');
foreach (string line in multiLine)
{
Label1.Text = multiLine[line].ToString();

}

saeedgharedaghi
پنج شنبه 22 دی 1390, 22:24 عصر
دوست عزیز کدت رو تصحیح کن.


foreach(string line in multiLine)
Label1.Text=line;

این درسته

reza4359
پنج شنبه 22 دی 1390, 22:38 عصر
اینو میدونم من میخوام مثل این چیزی که شما گذاشتید
Label1.Text = multiLine[0]; Label1.Text = multiLine[1];
Label1.Text = multiLine[2];

حالا شماره multiline رو با حلقه بدست بیارم و هر سطر رو بخونم و داخل lable بریزم

saeedgharedaghi
پنج شنبه 22 دی 1390, 22:47 عصر
امیدوارم منظورتونو کامل فهمیده باشم :



string[] multiLine = TextBox1.Text.Split('\n');
for (int i = 0; i < multiLine.Length; i++)
{
switch (i)
{
case 0:
Label1.Text = multiLine[i];
break;
case 1:
Label2.Text = multiLine[i];
break;
case 2:
Label2.Text = multiLine[i];
break;

default:
break;
}
}

reza4359
پنج شنبه 22 دی 1390, 22:50 عصر
مممنونم دوست عزیز ولی بازم منظورم این نبود
میخوام اصلا واسه سطر ها خودمون بهش شماره ندیم و هر سطری که اضافه میشه خودش مقدارشو داخل لیبل بریزه
و نیازی به مقدار دهی شماره سطر نباشه
الان مثلا تو مثال بالا که زدید ما فقط تا سه سطر رو میتونیم بخونیم ولی من میخوام هر سطری که اضافه میشه خودش از حلقه بخونه و به صورت نامحدود باشه

saeedgharedaghi
پنج شنبه 22 دی 1390, 22:59 عصر
رضا جان به ازای هر سطری که کاربر در داخل textBox وارد میکنه ، Label داریم ؟
یعنی Label ها به صورت Dynamic به صفحه اضافه مشن؟ یا کلن یک Label داریم؟

reza4359
پنج شنبه 22 دی 1390, 23:15 عصر
نه سعید جان فقط یک لیبل که با n\" از هم جداشون میکنیم

Mohamad1362
پنج شنبه 22 دی 1390, 23:20 عصر
من میخوام به ازای هر سطر یه Label درست کنه ، ولی خطا میده که هیچ نمونه ای از Label وجود نداره ، مشکل کد کجاست :
string[] multiLine = TextBox1.Text.Split('\n');
for (int i = 0; i < multiLine.Length; i++)
{
Label[] lbl=null;
lbl[i] = new Label();
lbl[i].Text = multiLine[i];
}

saeedgharedaghi
پنج شنبه 22 دی 1390, 23:29 عصر
:متعجب: :متعجب:
خدا کنه منظورت این باشه
این کد کل سطر ها میخونه وداخل یک label قرار میده طوریکه label اون سطر ها رو به صورت multi line نشون میده


string[] multiLine = TextBox1.Text.Split('\n');
foreach (string line in multiLine)
{

Label1.Text += line + "<br/>";
}

reza4359
پنج شنبه 22 دی 1390, 23:38 عصر
آره سعید جان دقیقا منظورم این بود خیلی ممنونم از لطفت
واسه جدا کردن سطر label از "\n" استفاده کردم ولی همه رو در یک سطر قرار میده و به سطر بعد نمیره چرا؟

saeedgharedaghi
پنج شنبه 22 دی 1390, 23:39 عصر
من میخوام به ازای هر سطر یه Label درست کنه ، ولی خطا میده که هیچ نمونه ای از Label وجود نداره ، مشکل کد کجاست :
string[] multiLine = TextBox1.Text.Split('\n');
for (int i = 0; i < multiLine.Length; i++)
{
Label[] lbl=null;
lbl[i] = new Label();
lbl[i].Text = multiLine[i];
}


محمد جان اینم کدش :




<div runat="server" id="DivShowLabels">

</div>



کد :


string[] multiLine = TextBox1.Text.Split('\n');
int i = 0;
Label l;
foreach (string line in multiLine)
{
l = new Label();
l.ID="Label"+i;

i++;

l.Text = line+"<br/>";
DivShowLabels.Controls.Add(l);

}

saeedgharedaghi
پنج شنبه 22 دی 1390, 23:47 عصر
آره سعید جان دقیقا منظورم این بود خیلی ممنونم از لطفت
واسه جدا کردن سطر label از "\n" استفاده کردم ولی همه رو در یک سطر قرار میده و به سطر بعد نمیره چرا؟

باید به جای اینکه با "n\" الحاق کنی رشته تو با "</br>" الحاق کنی