Solved

Dynamic generated label does not have the same width with textbox width.

Posted on 2009-06-28
10
235 Views
Last Modified: 2012-05-07
Hi,

I generate label using coding from certain textbox.
Why the width of the label is not the same as textbox width?

Thank you.
Public Shared Sub Create_Label_Control(ByRef objObject As Object, _
                                             ByVal objControlToClone As Control, _
                                             ByRef lblControl As Label, _
                                             ByVal strLabelName As String, _
                                             Optional ByVal blnLeft As Boolean = True, _
                                             Optional ByVal intAddWidth As Integer = 0)
 
        With lblControl
            .AutoSize = False
            .SetBounds(objControlToClone.Location.X, objControlToClone.Location.Y, objControlToClone.Width, objControlToClone.Height)
            .BorderStyle = Windows.Forms.BorderStyle.FixedSingle
            .BackColor = objControlToClone.BackColor
            .ForeColor = objControlToClone.ForeColor
            .Font = objControlToClone.Font
 
            If blnLeft Then
                If TypeOf (objControlToClone) Is TextBox Then
                    Dim txt As TextBox = CType(objControlToClone, TextBox)
 
                    If txt.Multiline = True Then
                        .TextAlign = ContentAlignment.TopLeft
                    Else
                        .TextAlign = ContentAlignment.MiddleLeft
                    End If
                Else
                    .TextAlign = ContentAlignment.MiddleLeft
                End If
            Else
                .TextAlign = ContentAlignment.MiddleRight
            End If
 
            .Text = objControlToClone.Text
 
            .Width = .Width + intAddWidth
 
            If TypeOf objControlToClone Is DateTimePicker Then
                .Width = .Width + 10
            End If
 
            .Name = strLabelName
 
            objObject.Controls.Add(lblControl)
 
        End With
 
    End Sub

Open in new window

0
Comment
Question by:emi_sastra
  • 6
  • 4
10 Comments
 
LVL 85

Expert Comment

by:Mike Tomlinson
ID: 24731792
Could you be a little more specific?...how far off is the label from the original?

It appears to be working in my simple tests...
0
 
LVL 1

Author Comment

by:emi_sastra
ID: 24732931
The label created usually less a character wide then the textbox.

For example:

textbox ="123"
label ="12"

Why is that?

Thank you.
0
 
LVL 85

Expert Comment

by:Mike Tomlinson
ID: 24733005
I'm not sure...
0
NAS Cloud Backup Strategies

This article explains backup scenarios when using network storage. We review the so-called “3-2-1 strategy” and summarize the methods you can use to send NAS data to the cloud

 
LVL 1

Author Comment

by:emi_sastra
ID: 24778588
Hi Idle_Mind,

Sorry, just back again.

After test it using IDE, I find out that label should be greater width than textbox.
Try it by :

1. Drop 1 label and 1 textbox.
2. Font size for both is Courier New 11 Regular.
3. Autosize = false.
4. Fill it both with "1234"
5. Adjust it to the same Size.

The you can see the different.

Thank you.

0
 
LVL 1

Author Comment

by:emi_sastra
ID: 24785438
Hi Idle_Mind,

Any idea how to solve the problem?

Thank you
0
 
LVL 85

Expert Comment

by:Mike Tomlinson
ID: 24799297
I can see the difference...just not sure what to do about it.

Is the end goal to put the Label directly on top of the TextBox so that it looks like the TextBox is "locked"?
DifferenceLabelTextBox.jpg
0
 
LVL 1

Author Comment

by:emi_sastra
ID: 24800014
-Is the end goal to put the Label directly on top of the TextBox so that it looks like the TextBox is "locked"?
Yes, it is.

Thank you.
0
 
LVL 1

Author Comment

by:emi_sastra
ID: 24819899
Hi Idle_Mind,

Any idea how to solve the problem?

Thank you
0
 
LVL 85

Accepted Solution

by:
Mike Tomlinson earned 500 total points
ID: 24819919
0
 
LVL 1

Author Comment

by:emi_sastra
ID: 24820050
Hi Idle_Mind,

Thanks for the link. I get idea from it, it seems not perfect yet, but should try it first.

Thank you very much for your help.
0

Featured Post

ScreenConnect 6.0 Free Trial

At ScreenConnect, partner feedback doesn't fall on deaf ears. We collected partner suggestions off of their virtual wish list and transformed them into one game-changing release: ScreenConnect 6.0. Explore all of the extras and enhancements for yourself!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

If you're writing a .NET application to connect to an Access .mdb database and use pre-existing queries that require parameters, you've come to the right place! Let's say the pre-existing query(qryCust) in Access takes a Date as a parameter and l…
A while ago, I was working on a Windows Forms application and I needed a special label control with reflection (glass) effect to show some titles in a stylish way. I've always enjoyed working with graphics, but it's never too clever to re-invent …
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

803 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question