We help IT Professionals succeed at work.

Check out our new AWS podcast with Certified Expert, Phil Phillips! Listen to "How to Execute a Seamless AWS Migration" on EE or on your favorite podcast platform. Listen Now

x

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

emi_sastra
emi_sastra asked
on
Medium Priority
256 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

Comment
Watch Question

Mike TomlinsonHigh School Computer Science, Computer Applications, Digital Design, and Mathematics Teacher
CERTIFIED EXPERT
Top Expert 2009

Commented:
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...

Author

Commented:
The label created usually less a character wide then the textbox.

For example:

textbox ="123"
label ="12"

Why is that?

Thank you.
Mike TomlinsonHigh School Computer Science, Computer Applications, Digital Design, and Mathematics Teacher
CERTIFIED EXPERT
Top Expert 2009

Commented:
I'm not sure...

Author

Commented:
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.

Author

Commented:
Hi Idle_Mind,

Any idea how to solve the problem?

Thank you
Mike TomlinsonHigh School Computer Science, Computer Applications, Digital Design, and Mathematics Teacher
CERTIFIED EXPERT
Top Expert 2009

Commented:
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

Author

Commented:
-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.

Author

Commented:
Hi Idle_Mind,

Any idea how to solve the problem?

Thank you
High School Computer Science, Computer Applications, Digital Design, and Mathematics Teacher
CERTIFIED EXPERT
Top Expert 2009
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION

Author

Commented:
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.
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.