VB.net Labels: Changing Caption on Multiple Lines

  • Thread starter Thread starter Pauly Man
  • Start date Start date
AI Thread Summary
In VB6, changing a label's caption involved using the Chr() function to insert line breaks, specifically Chr(13) for carriage return and Chr(10) for line feed. However, in VB.NET, the .Caption property is replaced with .Text, and Chr(13) is no longer recognized for line breaks. Instead, using Chr(10) works, but the recommended approach is to use the vbCrLf constant, which combines both carriage return and line feed effectively. The vbCrLf constant is documented under "Working with Text Boxes" in the VB.NET help files. For finding constants in VB.NET, searching for terms like "reserved words" or "constants" in the help documentation is suggested. The term "Carriage Return-Line Feed" originates from typewriter mechanics, where the carriage return mechanism moved the typing position back to the start of the line.
Pauly Man
Messages
129
Reaction score
0
In VB6 and earlier if you wanted to have your program change the caption of a label you would code something like this:

Code:
dim L,L1,L2 as string
L1 = "Hello There!"
L2 = "I am Paul."
L = L1 & Chr(13) & Chr(13) & L2
lblMyLabel.Caption = L

The above code would create a label message on two lines as follows:

Code:
Hello There!
I am Paul.

Now this doesn't work in VB.net. (I know that .caption is replaced with .text). VB.net completely ignores the Chr() keyword. Does anyone else know how the above can be done now?
 
Computer science news on Phys.org
Have you tried "\n"? Maybe Microsoft has switched to the standard convention. (ha, ha, I know)
 
I tried the "\n" and it doesn't work. :frown:
 
Sorted it. FOr some reason, Chr(13) is no longer recognised as a line break, but Chr(10) works.
 
chr(13) is a carridge return, chr(10) is a linefeed. You should ideally use both when making a new text line.
Try using the constant vbCrLf instead.
i.e. L = L1 & vbCrLf & L2
 
The vbCrLf works. And I can see where it gets its name, ie. vbCreateLinefeed. But I can't find any of these constants in the help files, so how do you find out about them?
 
I thought it would work. :smile:

For the vbCRLF constant:
It's mentioned in the "Working with Text Boxes" topic.

For constants in general:
In VB6, look in the Help-Contents-VisualBasicDocumentation-Reference-Constants, then there's several items that each have many subitems. It's in there somewhere.

I'm not sure where it is located for vb.net help, but I would assume it's similar. You might try searching the help for "reserved words", "constant", or something. Maybe even searching "vb" will help since they all (most) start with vb for visualbasic.

And I can see where it gets its name, ie. vbCreateLinefeed.
Acutally, it stands for "CarridgeReturn-LineFeed".
A "CarridgeReturn" is originally from the typewriter. The metal bar across the top is called a carridge return. When you push it to the right (to begin typing at the left of the page) it rolled the typewriter "carridge" up one line as it "returned" from the right. It's been used for computers ever since they were connected to a CRT and keyboard.
(edit: Maybe since they were connected to the first printers instead of CRTs.)
 
Hello guys.
I just ran into your post trying to find out how to put line feed into my label box for class.
I referenced back and found it under Visual Basic Langauge Reference> Print and Display Constants in VB.NET.
Hope this helps. I just stared VB.NET class this week.
~Ocilimond
 
Back
Top