Solved

Rotating a linklabel control

Posted on 2004-10-19
3
196 Views
Last Modified: 2010-04-24
I think the title says it all really. I need to have a linklabel control rotate to 90 degrees. I have read hints about overloading the onpaint method of the control but I'm new to .Net and i'm not sure if this is the best way, or how to go about it.

Thanks for your time,
Dan
0
Comment
Question by:zomby_dog
  • 2
3 Comments
 
LVL 25

Accepted Solution

by:
RonaldBiemans earned 125 total points
ID: 12345729
Hi Zomby_dog,

When the problem really isn't the rotating of the label because that is simple,

    Private Sub LinkLabel1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles LinkLabel1.Paint
        Dim fg As New Font(LinkLabel1.Font, FontStyle.Underline)
        Dim g As New StringFormat

        g.FormatFlags = StringFormatFlags.DirectionVertical
        e.Graphics.FillRectangle(New SolidBrush(LinkLabel1.BackColor), LinkLabel1.DisplayRectangle)
        e.Graphics.DrawString(LinkLabel1.Text, fg, New SolidBrush(Color.Blue), 0, 0, g)
    End Sub

the real problem is that you loose all the functionality of the linklabel class, which means you have to write your own class to accomodate the things like color change and mouse pointer changes.

0
 

Author Comment

by:zomby_dog
ID: 12345857
Cheers, I have got the text to rotate. The cursor does change when the mouse hovers over the control but only part of it, any ideas?

I have also added code much the same as yours above to the mousedown and mouseup events to change the colour, but only the part of the label which doesn't change the mouse cursor changes colour. Again any ideas?
0
 
LVL 25

Expert Comment

by:RonaldBiemans
ID: 12346006
Hi Zomby_dog,

Like I said in my previous comment that that is the problem with overwriting the paint, you will have to write your own linklabel control to accomodate that. Which could mean a lot of work.

Just a small question is there only one link in the label or are there more ?

If there is only one maybe I can write a quick workaround.

The reason you only get the mousepointer in a small area is the fact that it only takes into account the original text which was horizontal, so you only get the linkmousepointer in the original text, the same goes for the color
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

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

This article explains how to create and use a custom WaterMark textbox class.  The custom WaterMark textbox class allows you to set the WaterMark Background Color and WaterMark text at design time.   IMAGE OF WATERMARKS STEPS Create VB …
Introduction As chip makers focus on adding processor cores over increasing clock speed, developers need to utilize the features of modern CPUs.  One of the ways we can do this is by implementing parallel algorithms in our software.   One recent…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

820 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