none
Adding a Callout to a control on a vb.net form RRS feed

  • Question

  • I have a form with multiple PowerPacks.RectangleShape(s).

    I am attempting to add a mousehover callout, similar to the kind found on Outlook 2013’s Calendar that shows Appointment details.

    I found examples of CalloutAnnotation, but they’re only used for a Chart...which I’m not employing.

    Is this possible using the built-in Visual Studio controls...or do I need to go to a 3rd Party control.

    Thanks for your time in advance.

    Paul Goldstein
    Happy New Year


    Paul D. Goldstein Forceware Systems, Inc.

    Wednesday, January 2, 2019 5:33 PM

All replies

  • Please show an image of what you want to achieve.

    You do not need to use the powerpack whatever it is. Anything it does can be done with std .net now.

    Wednesday, January 2, 2019 5:45 PM
  • Hi Tommy,

    Thanks for writing.

    Here is the callout that appears when you MouseHover an appointment in Outlook.

    It’s not a Tooltip...I know what a tooltip is and how to customize it, those appear in other places on the Outlook Calendar such as MouseHovering the Month Name or buttons on the Ribbon.

    Thanks again.
    Paul


    Paul D. Goldstein Forceware Systems, Inc.

    Wednesday, January 2, 2019 7:44 PM

  • Paul,

    I see.

    No, there is not something exactly like a chart callout for the entire form that looks similar that I know.

    You can add graphics to a tooltip control as shown in the example.

    You could also just pop up a panel with label controls, even a calendar control and etc??

    Do you want to hoover a listbox? A menu? What could the base control be in vb?

    Any how you can pop up a panel anywhere you want. Use mouse enter/leave events. You can add controls just like you show. Or draw it fancy. I think you can add a callout pointer to the tool tip (not shown)???

    PS Is that a DGV in the background or what is that? A Menu? Calendar? Or is that part of the question?

    Public Class Form1
        Private WithEvents toolTip1 As New System.Windows.Forms.ToolTip
    
        Private Sub TextBox1_MouseEnter(sender As Object, e As EventArgs) Handles TextBox1.MouseEnter
            toolTip1.Show("Enter the value", TextBox1, New Point(0, -140), 2000)
        End Sub
    
        Private Sub toolTip1_Draw(sender As Object, e As DrawToolTipEventArgs) Handles toolTip1.Draw
            e.DrawBackground()
            e.DrawBorder()
    
            Using bmp As Bitmap = New Bitmap("c:\bitmaps\rusty.jpg")
                e.Graphics.DrawImage(bmp, 10, 10, 100, 100)
                e.Graphics.DrawString(e.ToolTipText, e.Font, SystemBrushes.ActiveCaptionText, 120, 20)
            End Using
        End Sub
    
        Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    
            toolTip1.OwnerDraw = True
        End Sub
    
        Private Sub toolTip1_Popup(sender As Object, e As PopupEventArgs) Handles toolTip1.Popup
            e.ToolTipSize = New Size(220, 120)
        End Sub
    End Class



    Wednesday, January 2, 2019 8:48 PM
  • Hi Tommy,

    Thanks for writing.
    That’s not a DGV that I know of. It’s my Outlook Calendar (Office2013), and those are appointments for a date in the current month ("Month View"). It sort of looks like a Listbox, and if there are more than 4 items, there is a funky down arrow at the lower right hand corner of the last row displayed...if you click on it, it changes the view to Day View.
    I liked how the popup/callout/<whatever> was appearing, and the detail shown...so I was hoping that it was a control/feature in Visual Studio...apparently not.

    Thanks for the ideas, I will try them.

    Take care,
    Paul


    Paul D. Goldstein Forceware Systems, Inc.

    Wednesday, January 2, 2019 9:21 PM
  • Paul,

    Yeah. Could it be a small menu in a grid? Or lists/menus in a tablelayoutflowpanel?

    Where does the data come from database etc?

    How dynamic is it? It could be a menu? Or use mouse enter/leave. A menu is snappy. I think you can draw your own menu like your image? Or even show a panel from a menu.

    It depends on how much you need to standardize the data. How tight the gui needs to react etc. If its a calendar then you have to draw the weekly rows and days of week etc? Make it look like a calendar correct?

    Hmmm. If yhou get all that working popping up a callout panel will be the least of your problems?

    :)

    Wednesday, January 2, 2019 9:39 PM
  • Hi Tommy,

    The example comes from Microsoft Outlook 2013...I don’t know what controls they’re employing to create the listing of appointments in the days, and the popup that shows the detail of the mouse_entered appointment entry.

    I actually I already have the desktop calendar in a program that I created/use. It pulls in the Outlook appointments and places them into a DGV that is inside a panel representing each day of the month being displayed (there are actually 42 panels...7 days in the week, 6 rows of days...I have to account for a month starting on Saturday and/or ending on a Sunday). The reason for the program is that it adds other calendar information that Outlook doesn’t display (DB entries, etc), so that I get a window into my calendar that includes as much "stuff" as I need to see. I control which month I’m viewing by using the MonthCalendar control.

    I will explore your suggestions.

    Take care,
    P


    Paul D. Goldstein Forceware Systems, Inc.

    Wednesday, January 2, 2019 10:20 PM
  • Hi,

    Do you resolve the issue? If you resolve the issue,please mark the helpful as answer. 

    Best Regards,

    Alex


    MSDN Community Support Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Monday, January 7, 2019 3:11 AM