Question: I have an image with a background color and I'm putting that in a div with the same background color. For some reason I cant save this image as a PNG and have the image bg color show the same as the bg color in the div across all browsers on all operating systems.

At first it looked fine on Windows/Mac in every browser except IE. So I tried using tweakPNG to remove the color profile and gamma properties and that seemed to fix for IE but now I have the issue in Firefox on Linux for some reason?

Any ideas/insight? Thanks

Answer: 
Create an event on the user control where the event args are editable. Let the form attach a handler to that event, which updates those fields. Use those fields in the OnEvent method.

[untested]
eg. 

```
public delegate void NeedsUserDataEventHandler(object sender, NeedsUserDataEventArgs args);

public class NeedsUserDataEventArgs : EventArgs
{
    public UserData UserData { get; set; }
}

// In Control
public event NeedsUserDataEventHandler NeedsUserData;

public void OnNeedsUserData(NeedsUserDataEventArgs args)
{
    NeedsUserDataEventHandler handler = NeedsUserData;
    if (handler != null) handler(this, args);
    // store your data somewhere here
}

// In Form
public override void OnLoad(object sender, EventArgs args)
{
    control.NeedsUserData += ControlNeedsUserData;
}

public override void OnClosed(object sender, EventArgs args)
{
    control.NeedsUserData -= ControlNeedsUserData;
}

public void ControlNeedsUserData (object sender, NeedsUserDataEventArgs args)
{
    args.UserData = // set whatever here
}

```
It's dependent on when that data needs to be pushed to the UserControl. Are there events taking place on the Form that will drive the need to move data within the UserControl? If so...simply grab your instance at that point and push the data down to the UserControl via a public property.

If this is a case where events are not being used or the Form in some fashion or another "receives the data" then exposing an [event](http://msdn.microsoft.com/en-us/library/aa645739%28VS.71%29.aspx) on the Form such as...

```
public event DataHandler ReceivedData;

```

...and allow the UserControl or any other container to register for the event and receive the data via your custom event args. Pushing the event into the UserControl and forcing the Form to latch onto the UserControl seems backwards since the Form is the initiator of the data.