
Andreas Lohr
Top achievements
Rank 1
Andreas Lohr
asked on 14 Mar 2011, 08:09 PM
hi,
I have a RadTextBox in MultiLine mode with a NullText. I add text with my code, but I have always a empty line at the end.
How can I remove that? Sounds as a pretty easy task, but for some reason it doesnot work for me, the empty line at the end is never removed.
Regards, Andreas
I have a RadTextBox in MultiLine mode with a NullText. I add text with my code, but I have always a empty line at the end.
How can I remove that? Sounds as a pretty easy task, but for some reason it doesnot work for me, the empty line at the end is never removed.
Regards, Andreas
16 Answers, 1 is accepted
0

Richard Slade
Top achievements
Rank 2
answered on 15 Mar 2011, 10:20 AM
Hello,
I'm not sure if I understand your issue. I've tried a multiline textbox and I can't seem to see a problem with it. If you could include any supporting screenshots or additional code to explain, I'll do my best to help
Thanks
Richard
I'm not sure if I understand your issue. I've tried a multiline textbox and I can't seem to see a problem with it. If you could include any supporting screenshots or additional code to explain, I'll do my best to help
Thanks
Richard
0

Andreas Lohr
Top achievements
Rank 1
answered on 15 Mar 2011, 02:52 PM
hi Richard,
thank you for your help. I attached a screenshot. There I have a textbox (Proxies), where I write (with code) IP adresses. But unfortunaly there is an empty line at the end, so that my counter is also wrong. I thought in the TextChanged event I add some code to delete all empty lines. But everything I have tried has not worked so far.
Regards
Andreas
thank you for your help. I attached a screenshot. There I have a textbox (Proxies), where I write (with code) IP adresses. But unfortunaly there is an empty line at the end, so that my counter is also wrong. I thought in the TextChanged event I add some code to delete all empty lines. But everything I have tried has not worked so far.
Regards
Andreas
0

Richard Slade
Top achievements
Rank 2
answered on 15 Mar 2011, 03:03 PM
Hello,
I'm afraid I haven't been able to replicate your issue. I have added a RadTextBox to a form, made the RadTextBox multiline and added a button with a click event defined as follows:
This shows me 2 lines. Please could you post a sample to show how you are adding the text to the RadTextBox as it sounds as though your text contains a new line character at the end.
Thanks
Richard
I'm afraid I haven't been able to replicate your issue. I have added a RadTextBox to a form, made the RadTextBox multiline and added a button with a click event defined as follows:
Private
Sub
RadButton1_Click(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
RadButton1.Click
Me
.RadTextBox1.Text =
"Line 1"
& Environment.NewLine &
"Line 2"
For
Each
line
As
String
In
RadTextBox1.Lines
MessageBox.Show(line.ToString())
Next
End
Sub
This shows me 2 lines. Please could you post a sample to show how you are adding the text to the RadTextBox as it sounds as though your text contains a new line character at the end.
Thanks
Richard
0

Andreas Lohr
Top achievements
Rank 1
answered on 15 Mar 2011, 03:33 PM
hi Richard,
my codes more like this:
A new line is added in an event.
Is there any way to remove empty lines once I have them? There could also be an empty line added by mistake from the user, so it would be great, if there is a way to delete the empty line(s), if there are any.
regards, Andreas
my codes more like this:
private
void
radButton1_Click(
object
sender, EventArgs e)
{
radTextBox1.Text = radTextBox1.Text +
"Line 1\r\n"
;
radTextBox1.Text = radTextBox1.Text +
"Line 2\r\n"
;
foreach
(
string
line
in
radTextBox1.Lines)
{
MessageBox.Show(line.ToString());
}
}
Is there any way to remove empty lines once I have them? There could also be an empty line added by mistake from the user, so it would be great, if there is a way to delete the empty line(s), if there are any.
regards, Andreas
0
Accepted

Richard Slade
Top achievements
Rank 2
answered on 15 Mar 2011, 04:48 PM
Hello,
If you want to remove the end line breaks after they are in the RadTextBox, something like this should work for you.
Hope that helps but let me know if you have any questions
Richard
If you want to remove the end line breaks after they are in the RadTextBox, something like this should work for you.
radTextBox1.Text = radTextBox1.Text +
"Line 1\r\n"
;
radTextBox1.Text = radTextBox1.Text +
"Line 2\r\n\r\n"
;
// will remove all end line breaks
ArrayList list =
new
ArrayList();
for
(
int
i = 0; i <=
this
.radTextBox1.Lines.Count()-1; i++)
{
if
(!String.IsNullOrEmpty(radTextBox1.Lines[i]))
{list.Add(radTextBox1.Lines[i]);}
}
this
.radTextBox1.Lines = (
string
[])list.ToArray(
typeof
(
string
));
foreach
(
string
line
in
this
.radTextBox1.Lines)
{
MessageBox.Show(line.ToString());
}
Hope that helps but let me know if you have any questions
Richard
0

Andreas Lohr
Top achievements
Rank 1
answered on 16 Mar 2011, 02:03 PM
hi Richard,
I am sorry, probably I have described not exact, what I want. Your code seems to remove all line breaks. But the line breaks are needed, I want just that the line breaks on empty text lines are removed.
Regards, Andreas
I am sorry, probably I have described not exact, what I want. Your code seems to remove all line breaks. But the line breaks are needed, I want just that the line breaks on empty text lines are removed.
Regards, Andreas
0

Richard Slade
Top achievements
Rank 2
answered on 16 Mar 2011, 03:47 PM
Hello,
the code should only remove line breaks where there is nothing else on the line. E.g
Line 1 /break
Line 2 /break
/break (removed)
/break (removed)
I based this on the code that you sent. I'll try it again and let you know the result.
Richard
the code should only remove line breaks where there is nothing else on the line. E.g
Line 1 /break
Line 2 /break
/break (removed)
/break (removed)
I based this on the code that you sent. I'll try it again and let you know the result.
Richard
0

Richard Slade
Top achievements
Rank 2
answered on 16 Mar 2011, 03:54 PM
Hello,
I have just tried this again, and the messagebox displays a message correctly for each line. Please could you post some code that replicates your issue with this and I'll be happy to take a look
Thanks
Richard
I have just tried this again, and the messagebox displays a message correctly for each line. Please could you post some code that replicates your issue with this and I'll be happy to take a look
Thanks
Richard
0

Richard Slade
Top achievements
Rank 2
answered on 17 Mar 2011, 10:59 AM
Hi Andreas,
Did this help, or are you still having issues? Let me know if I can help further.
All the best
Richard
Did this help, or are you still having issues? Let me know if I can help further.
All the best
Richard
0

Andreas Lohr
Top achievements
Rank 1
answered on 17 Mar 2011, 06:52 PM
hi Richard,
my code looks like this:
But that doesnot work. If I add the code from theTextChanged event handler in the event handler that adds the text, it also doesnot work for me. I am really going mad on this.
Any ideas?
regards, Andreas
my code looks like this:
private
void
radButton1_Click(
object
sender, EventArgs e)
{
radTextBox1.Text = radTextBox1.Text +
"Line 1\r\n"
;
radTextBox1.Text = radTextBox1.Text +
"Line 2\r\n\r\n"
;
// will remove all end line breaks
foreach
(
string
line
in
this
.radTextBox1.Lines)
{
MessageBox.Show(line.ToString());
}
}
private
void
radTextBox1_TextChanged(
object
sender, EventArgs e)
{
ArrayList list =
new
ArrayList();
for
(
int
i = 0; i <=
this
.radTextBox1.Lines.Count() - 1; i++)
{
if
(!String.IsNullOrEmpty(radTextBox1.Lines[i]))
{ list.Add(radTextBox1.Lines[i]); }
}
this
.radTextBox1.Lines = (
string
[])list.ToArray(
typeof
(
string
));
}
Any ideas?
regards, Andreas
0

Richard Slade
Top achievements
Rank 2
answered on 17 Mar 2011, 08:45 PM
Hi Andreas,
No, you shouldn't use the TextChanged event. You will make this fire again. Why not just use the Leave event of the RadTextBox
Hope that helps, but let me know if you need further help
Richard
No, you shouldn't use the TextChanged event. You will make this fire again. Why not just use the Leave event of the RadTextBox
private
void
Form1_Load(
object
sender, EventArgs e)
{
radTextBox1.Text = radTextBox1.Text +
"Line 1\r\n"
;
radTextBox1.Text = radTextBox1.Text +
"Line 2\r\n\r\n"
;
}
private
void
radTextBox1_Leave(
object
sender, EventArgs e)
{
ArrayList list =
new
ArrayList();
for
(
int
i = 0; i <=
this
.radTextBox1.Lines.Count() - 1; i++)
{
if
(!String.IsNullOrEmpty(radTextBox1.Lines[i]))
{ list.Add(radTextBox1.Lines[i]); }
}
this
.radTextBox1.Lines = (
string
[])list.ToArray(
typeof
(
string
));
foreach
(
string
line
in
this
.radTextBox1.Lines)
{
MessageBox.Show(line.ToString());
}
}
Hope that helps, but let me know if you need further help
Richard
0

Andreas Lohr
Top achievements
Rank 1
answered on 17 Mar 2011, 09:44 PM
hi Richard,
the problem is that the leave event is usually never fired, because the text is usually not entered by manual input, its entered by this code:
That means, the leave event is usually not fired, but it could be fired, because of course I can also add text by hand.
Do you see any other event that fits my needs?
regards, Andreas
the problem is that the leave event is usually never fired, because the text is usually not entered by manual input, its entered by this code:
void
proxyGetter_NewProxyFound(
object
sender, SEO.Common.Async.EventArgs<ProxyServer,
string
> e)
{
txtProxies.Text = txtProxies.Text + String.Format(
"{0}:{1}\r\n"
, e.Value1.IpAddress, e.Value1.Port);
}
Do you see any other event that fits my needs?
regards, Andreas
0

Richard Slade
Top achievements
Rank 2
answered on 17 Mar 2011, 10:14 PM
Hello,
From your screenshot it looks as though the user must press a button (such as validate or harvest). Can you not perform it there?
Can I ask though, why do you not remove the line breaks before they are entered? - Or even use a RadListControl to list out the items that you need, perhaps with a simple one line RadTextBox for users to add more entries to the ListControl?
Regards,
Richard
From your screenshot it looks as though the user must press a button (such as validate or harvest). Can you not perform it there?
Can I ask though, why do you not remove the line breaks before they are entered? - Or even use a RadListControl to list out the items that you need, perhaps with a simple one line RadTextBox for users to add more entries to the ListControl?
Regards,
Richard
0

Andreas Lohr
Top achievements
Rank 1
answered on 17 Mar 2011, 10:29 PM
hi Richard,
validate would only delete items, but the harvest button add items and it is a async method that is executed, so new proxies are added by an eventhandler.
It has a high usability, if you can add additional items with ctrl+C.
In fact I have not thought, that it creates these problems just to delete empty lines in all cases.
But I will think over the night how I can fix this problem.
Thanks a lot for your awesome support.
Best regards
Andreas
validate would only delete items, but the harvest button add items and it is a async method that is executed, so new proxies are added by an eventhandler.
It has a high usability, if you can add additional items with ctrl+C.
In fact I have not thought, that it creates these problems just to delete empty lines in all cases.
But I will think over the night how I can fix this problem.
Thanks a lot for your awesome support.
Best regards
Andreas
0

Richard Slade
Top achievements
Rank 2
answered on 17 Mar 2011, 10:31 PM
Hi
You're welcome. Let me know if you want me to prepare you something using a ListControl and a RadTextBox, or indeed if you need any further help
Thanks
Richard
You're welcome. Let me know if you want me to prepare you something using a ListControl and a RadTextBox, or indeed if you need any further help
Thanks
Richard
0
Hi Andreas,
Thanks for writing.
Ivan Petrov
the Telerik team
Thanks for writing.
I performed some tests and could not find a case where the TextChanged event would not be fired. I tried adding text from separate thread, on a button click, adding it by hand and a combination of these. You can use the solution provided by Richard in the TextChanged event provided that you unsubscribe from the event in the beginning and subscribe to the event in the end of it. In addition, when the Enter event is fired, you should unsubscribe and in the Leave event you subscribe again and validate the text. Another thing you can do is add the line breaks before the IP text.
I attached a small project which I believe covers your case.
I hope it will help. If you have further questions, I would be glad to answer them.
Ivan Petrov
the Telerik team