Tooltabstrip font / Autohide problem

6 posts, 0 answers
  1. mrdcpwns
    mrdcpwns avatar
    16 posts
    Member since:
    Dec 2009

    Posted 28 Dec 2009 Link to this post

    ToolTabStrip Font Problem:
    I changed the font style and size in the properties and all seems fine after running the program
    http://img341.imageshack.us/img341/1681/19699031.jpg

    But when I set the dock to autohide while it is running and viewed the dockwindow, the font changed
    http://img707.imageshack.us/img707/2521/86467578.jpg


    AutoHide Problem:

    If I set the dock to autohide in the advanced layout designer, then run the program, the dock is missing
    http://img690.imageshack.us/img690/2091/98301245.jpg

    The dock can only be viewed if I minimize the Form then return to it.
    My Form's windowstate is set to maximized and I've noticed that the problem occurs if the Dock is set to something other than "None" in the properties.










  2. Georgi
    Admin
    Georgi avatar
    296 posts

    Posted 29 Dec 2009 Link to this post

    Hi JR,

    Thank you for contacting us.

    What is happening here is that you are setting the Font of the ToolTabStrip, docked on RadDock, but not to the one that holds auto-hidden windows. There are two options here:

    - Modify RadDock theme files and supply the desired Font. The disadvantage of this approach is that the files should be modified manually as there is no (yet) Visual Style Builder support for RadDock. We are planning however to implement such for our next major release - Q1 2010.
    - Hook the TransactionCommited event and update Font dynamically:

    this.radDock1.TransactionCommitted += radDock1_TransactionCommitted;
     
    void radDock1_TransactionCommitted(object sender, RadDockTransactionEventArgs e)
    {
        foreach (DockWindow window in e.Transaction.AssociatedWindows)
        {
            if (window.DockTabStrip != null)
            {
                window.DockTabStrip.Font = new Font("Tahoma", 10F, FontStyle.Bold);
            }
        }
    }

    Regarding your second issue - I tried to reproduce it locally but to no avail. Could you please prepare a sample project that demonstrates the problem and send it back to me so that I may further help you?

    I am looking forward to your reply.

    Greetings,
    Georgi
    the Telerik team

    Instantly find answers to your questions on the new Telerik Support Portal.
    Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
  3. UI for WinForms is Visual Studio 2017 Ready
  4. mrdcpwns
    mrdcpwns avatar
    16 posts
    Member since:
    Dec 2009

    Posted 29 Dec 2009 Link to this post

    here's a sample solution
    http://www.megaupload.com/?d=EGXZ5RVA

    the problem occurs if the RadDock1 is set to autohide in Advanced Layout designer  and the form's windowstate is set to maximized

  5. Nikolay
    Admin
    Nikolay avatar
    1803 posts

    Posted 04 Jan 2010 Link to this post

    Hello mrdcpwns,

    Thank you for the sample project. It helped us to reproduce the issue locally. It will be addressed in one of our next versions.

    For the time being, please call the PerformLayout method of RadDock in the Form_Shown event handler:
    Private Sub Form1_Shown(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Shown
        Me.RadDock1.PerformLayout()
    End Sub

    I am updating your Telerik points for the report. If you have additional questions, feel free to contact me.

    Kind regards,
    Nikolay
    the Telerik team

    Instantly find answers to your questions on the new Telerik Support Portal.
    Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
  6. Tzhai Gal
    Tzhai Gal avatar
    2 posts
    Member since:
    Nov 2009

    Posted 03 Feb 2010 Link to this post

    Hi,
    I hade the same problem with the fonts ( it was happened also when dragging ), thanks for the solution.
    However,
    1. i steel have the same problem in the Font forColor.
    2. I changed the  toggleButton (DocPin) image. I have the same problem hear after dragging.  How do i keep my image after dragging

    It dose not help to put the forColor in the same way as the font, like this:
    this.radDock1.TransactionCommitted += radDock1_TransactionCommitted;  
    void radDock1_TransactionCommitted(object sender, RadDockTransactionEventArgs e)  
    {  
        foreach (DockWindow window in e.Transaction.AssociatedWindows)  
        {  
            if (window.DockTabStrip != null)  
            {  
                window.DockTabStrip.Font = new Font("Tahoma", 10F, FontStyle.Bold);  
     
                window.DockTabStrip.ForColor = Color.White;  
     
            }  
        }  
    }  
     
     

    One more thing. Which event in radDoc or ToolTabStrip  catch the:  Hide / DockAble / Tabed Document / Floating 

    Thanks,
    Ofer Hadad

  7. Nikolay
    Admin
    Nikolay avatar
    1803 posts

    Posted 08 Feb 2010 Link to this post

    Hi Tzhai Gal,

    In order to change the text color, you need to change the color of the TextPrimitive that is contained in the ToolTabStrip's caption area. As to the image of the AutoHide button, you should have not issues with setting it on the TransactionCommitted event as well:
    void radDock1_TransactionCommitted(object sender, Telerik.WinControls.UI.Docking.RadDockTransactionEventArgs e)
    {
        foreach (DockWindow window in e.Transaction.AssociatedWindows)
        {
            if (window.DockTabStrip != null)
            {
                window.DockTabStrip.Font = new Font("Tahoma", 10F, FontStyle.Bold);
      
                if (window.DockTabStrip is ToolTabStrip)
                {
                    ((TextPrimitive)((ToolTabStrip)window.DockTabStrip).CaptionElement.Children[2].Children[3]).ForeColor = Color.Red;
                    ((ToolTabStrip)window.DockTabStrip).AutoHideButton.Image = WindowsFormsApplication8.Properties.Resources.PlusSign;
                }
            }
        }   
    }

    RadDock.DockTabStrip is the event which is fired when you change the DockState of a DockWindow.

    I hope this helps. If you have additional questions, feel free to contact me.

    Greetings,
    Nikolay
    the Telerik team

    Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
    Follow the status of features or bugs in PITS and vote for them to affect their priority.
Back to Top
UI for WinForms is Visual Studio 2017 Ready