Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / Windows Forms / WinForm General / January 2008

Tip: Looking for answers? Try searching our database.

Trouble with strongly-typed Image resources at design-time

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Jared - 02 Jan 2008 18:36 GMT
I'm working on a custom control in VS2005, and I'm experiencing a
problem using Image resources from the Resource Manager.  My control
has a child collection, and each child has an Image property.  My
solution has two projects, one for the control and one for the test
app using the control.  I can successfully set and persist the Image
property, and all works fine at runtime and design-time.

However, *once I rebuild the control project* my control breaks in the
using project at design-time with the error "The control (my control)
has thrown an unhandled exception in the designer and has been
disabled".  It references a line in my code where I access the Image
property of a child, and it appears the Image is no longer valid.

I do not have this problem if I set the Image property directly -- I
only have a problem when using a strongly-typed Image from the
Resource Manager.

I thought it might be a problem with disposing the Image objects, but
commenting that out didn't resolve the issue.

Does anyone have any tips for the correct usage of strongly-typed
Image resources in custom controls?

TIA
Jared
Bob Powell [MVP] - 03 Jan 2008 16:05 GMT
You may be suffering from versioning problems. Remove all asterisks from the
version tags in the AssemblyInfo file.

Signature

--
Bob Powell [MVP]
Visual C#, System.Drawing

Ramuseco Limited .NET consulting
http://www.ramuseco.com

Find great Windows Forms articles in Windows Forms Tips and Tricks
http://www.bobpowell.net/tipstricks.htm

Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/faqmain.htm

All new articles provide code in C# and VB.NET.
Subscribe to the RSS feeds provided and never miss a new article.

> I'm working on a custom control in VS2005, and I'm experiencing a
> problem using Image resources from the Resource Manager.  My control
[quoted text clipped - 21 lines]
> TIA
> Jared
Jared - 03 Jan 2008 18:01 GMT
On Jan 3, 8:05 am, "Bob Powell [MVP]" <b...@spamkillerbobpowell.net>
wrote:
> You may be suffering from versioning problems. Remove all asterisks from the
> version tags in the AssemblyInfo file.
[quoted text clipped - 40 lines]
>
> - Show quoted text -

Thanks for the reply Bob.  I tried removing the asterisks, but the
problem persisted.  I'm certain this has something to do with me
disposing the Image objects incorrectly because it works fine when I
remove my disposing code.  For example, my Image property on the child
control (which derives from Component) is:

public Image Graphic
{
  get
  {
     return _Graphic;
  }
  set
  {
     if (!this.DesignMode)
     {
        // Dispose any previous graphic
        if (null != _Graphic)
        {
           _Graphic.Dispose();
           _Graphic = null;
        }
     }

     _Graphic = value;

     // Notify the container to redraw
     if (null != this.TaskPanel)
     {
        this.TaskPanel.Invalidate();
     }
  }
}

If I comment out the check for DesignMode, the control will start
breaking in the using project when I rebuild the control project.  I
assume this is because I'm disposing resources held by the Resource
Manager in the using app.  I also assume that I should be disposing
the Image objects explicitly at runtime as shown in my code above.

Hopefully this makes sense.  Please let me know if you have any more
insight into this behavior.  Cheers!
Jared - 03 Jan 2008 19:22 GMT
> On Jan 3, 8:05 am, "Bob Powell [MVP]" <b...@spamkillerbobpowell.net>
> wrote:
[quoted text clipped - 93 lines]
>
> - Show quoted text -

I think I ended up outsmarting myself while trying to create a custom
control that didn't leak memory.  My control shouldn't be disposing
resources that it didn't create, so I'll just remove my code that's
disposing the Image object. =)

Rate this thread:







Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.