﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » WinForms (How do I?)  » ThemedContainer BodyHiddenEventHandler question</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Wed, 06 May 2026 11:35:42 GMT</lastBuildDate><ttl>20</ttl><item><title>ThemedContainer BodyHiddenEventHandler question</title><link>http://forum.strataframe.net/FindPost29150.aspx</link><description>I have a form on which I dynamically create X number of ThemedContainer controls, I add a handler for the BodyHidden event on creation of the control but the delegate BodyHiddenEventHandler does not&amp;nbsp; have a signature that includes sender. When the events fires I dont know which themedcontainer was collapsed.&lt;br/&gt;&lt;br/&gt;I want to show the TitleImage when the body is collapsed and hide it when it is expanded. How can I accomplish this?&lt;font size=2&gt;&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;</description><pubDate>Fri, 03 Dec 2010 15:26:29 GMT</pubDate><dc:creator>Keith Chisarik</dc:creator></item><item><title>RE: ThemedContainer BodyHiddenEventHandler question</title><link>http://forum.strataframe.net/FindPost29169.aspx</link><description>Let us know how it goes! :D</description><pubDate>Fri, 03 Dec 2010 15:26:29 GMT</pubDate><dc:creator>Greg McGuffey</dc:creator></item><item><title>RE: ThemedContainer BodyHiddenEventHandler question</title><link>http://forum.strataframe.net/FindPost29168.aspx</link><description>Yes, they are created via code at runtime. I will try your suggestion, thanks.</description><pubDate>Fri, 03 Dec 2010 15:11:31 GMT</pubDate><dc:creator>Keith Chisarik</dc:creator></item><item><title>RE: ThemedContainer BodyHiddenEventHandler question</title><link>http://forum.strataframe.net/FindPost29164.aspx</link><description>The typical way to handle this is to just have a handler for each container. That won't work if you are dynamically creating them (I'm assuming you mean you create them via code at runtime). So, what comes to mind is to create a class for the handler. It would have properties for any items you need access to in the handler and a public methods for the handlers (one for BodyHidden and one for BodyRestore).&lt;br/&gt;&lt;br/&gt;&lt;span&gt;[codesnippet]public class ContainerImageSwitcher&lt;br/&gt;{&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Require that a ThemedContainer be provided in constructor.&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public ContainerImageSwitcher(ThemedContainer container)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.Container = container;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public property ThemedContainer Container { get; set;}&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void HandleHidden() { //-- show image, using this.Container }&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void HandleRestore() { //-- hide image, using this.Container }&lt;br/&gt;&lt;br/&gt;}[/codesnippet]&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;Now in your code that creates the ThemedContainers and sets the handlers you can use the class:&lt;br/&gt;&lt;br/&gt;&lt;span&gt;[codesnippet]private ThemedContainer BuildContainer()&lt;br/&gt;{&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ThemedContainer newContainer = new ThemedContainer();&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //-- Setup as appropriate....&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //-- Add handlers&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;ContainerImageSwitcher switcher = new &lt;/span&gt;&lt;span&gt;ContainerImageSwitcher(newContainer);&lt;/span&gt;&lt;br/&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; newContainer.BodyHidden += &lt;/span&gt;&lt;span&gt;switcher.HandleHidden;&lt;br/&gt;&amp;nbsp; &amp;nbsp; newContainer.BodyRestore += &lt;/span&gt;&lt;span&gt;switcher&lt;/span&gt;&lt;span&gt;.HandleRestore;&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp; //-- Return container&lt;br/&gt;&amp;nbsp;&amp;nbsp; return newContainer;&lt;br/&gt;}[/codesnippet]&lt;br/&gt;&lt;br/&gt;I haven't tested this, but it should work.&lt;br/&gt;&lt;/span&gt;</description><pubDate>Fri, 03 Dec 2010 11:33:27 GMT</pubDate><dc:creator>Greg McGuffey</dc:creator></item></channel></rss>