Style for Disabled Button with Image

6 posts, 1 answers
  1. Brian
    Brian avatar
    14 posts
    Member since:
    Oct 2010

    Posted 18 Oct 2011 Link to this post

    The default style does not gray out the image on a button that is disabled.

    But there are other themes that do gray out the image (such as Desert, Breeze).

    I'm making a copy of the default style and making small adjustments.  How can I make my custom theme use a gray image for a button that is disabled?
  2. Stefan
    Admin
    Stefan avatar
    2891 posts

    Posted 20 Oct 2011 Link to this post

    Hi Brian,

    To achieve the desired look, you should set the Enabled property of the ButtonElement, instead of the Enabled property of the button control. Here is a code sample:
    radButton1.ButtonElement.Enabled = false;

    I hope that the provided information addresses your question. Should you have any other questions, do not hesitate to contact us.
     
    Kind regards,
    Stefan
    the Telerik team

    Q2’11 SP1 of RadControls for WinForms is available for download (see what's new); also available is the Q3'11 Roadmap for Telerik Windows Forms controls.

  3. UI for WinForms is Visual Studio 2017 Ready
  4. Brian
    Brian avatar
    14 posts
    Member since:
    Oct 2010

    Posted 21 Oct 2011 Link to this post

    I tried setting that element but it didn't seem to work either.

    Also, that doesn't make sense, because with different styles, the image is gray and I didn't have to set the element's disabled property.

    It certainly seems to be something in the visual style that is causing the image to go gray.
  5. Answer
    Stefan
    Admin
    Stefan avatar
    2891 posts

    Posted 27 Oct 2011 Link to this post

    Hello Brian,

    Thank you for writing back with your concerns.

    In order to gray-out the image of the button, the UseDefaultDisabledPaint property should be set to true. This setting is introduced to the ButtonElement by default and this is why I recommended disabling the ButtonElement. However, it is possible that this property is modified on your end and the provided code is not working. Please make sure that the property has the correct value set - true. Here are two code snippets demonstrating how to achieve the desired functionality:
    radButton1.Enabled = false;
    radButton1.RootElement.UseDefaultDisabledPaint = true;
     
    //or
    radButton1.ButtonElement.Enabled = false;
    radButton1.ButtonElement.UseDefaultDisabledPaint = true;

    I hope that you find this helpful. Let me know if you have any other questions.
     
    All the best,
    Stefan
    the Telerik team

    Q2’11 SP1 of RadControls for WinForms is available for download (see what's new); also available is the Q3'11 Roadmap for Telerik Windows Forms controls.

  6. Eric
    Eric avatar
    24 posts
    Member since:
    Jul 2011

    Posted 24 Feb 2012 Link to this post

    First thank you support for this as it fixed my problem as well.  I also want to point out that for me I was having issues with only setting the button to disabled.  It wasn't getting updated until I did both the button and the RootElement.  

    I would submit that having to do something like this is very un-RAD (opposite of rapid).  This is something that .net has just done for years.  Given you're implementing their button class, I would expect that the button.Enabled is directly linked to button.RootElement.Enabled.  Also, I would expect that the setting 
    btnSettings.RootElement.UseDefaultDisabledPaint = true;
    
    (help, stuck in formatting box and can't get out)
    
    ... would just be default for all styles etc.  That said, even though I did update our style (.tssp) I still
    have to manually call the line above.
  7. Stefan
    Admin
    Stefan avatar
    2891 posts

    Posted 29 Feb 2012 Link to this post

    Hello Eric,

    I am glad to hear that this thread helped you.

    In regards to your suggestion, the UseDefaultDisabledPaint property's default value is true, so simply disabling the button will gray out the whole button. However, the property setting can be introduced also by the theme (as with the ControlDefault theme for example), in cases where the disabled state of the button is themed (you might want different appearance when the button is disabled than the default one). So, if you have set this property via theme, and then you want to change its value, you can do that via code.

    I hope you find this information useful. Let me know if I can be of further assistance.

    Greetings,
    Stefan
    the Telerik team
    RadControls for WinForms Q1'12 release is now live! Check out what's new or download a free trial >>
Back to Top
UI for WinForms is Visual Studio 2017 Ready