Solved

Rotating a linklabel control

Posted on 2004-10-19
3
187 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
Comment Utility
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
Comment Utility
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
Comment Utility
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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Microsoft Reports are based on a report definition, which is an XML file that describes data and layout for the report, with a different extension. You can create a client-side report definition language (*.rdlc) file with Visual Studio, and build g…
It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…

762 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

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now