private void FrmObj_Click(object sender, EventArgs e)
        {
            if (InterfaceObjects.ItemBinding.hasBoundItem())
            {
                var   obj = InterfaceObjects.ItemBinding.getBoundClass();
                Form1 frm = (Form1)System.Windows.Forms.Application.OpenForms["Form1"];

                if (obj is ChocolateBar)
                {
                    hasChocolate = true;
                    updateImage();
                    ChocolateBar choc = obj as ChocolateBar;
                    choc.consumeChocolate(200);
                    InteractionMarker marker = frm.formObj["marker"] as InteractionMarker;
                    marker.hide();
                }
                else if (obj is Cream)
                {
                    hasCream = true;
                    updateImage();
                    Cream cream = obj as Cream;
                    cream.frmObj.Dispose();
                    InteractionMarker marker = frm.formObj["marker"] as InteractionMarker;
                    marker.hide();
                }
                else
                {
                    ErrorLogic.Error.showErrorDialog(Properties.Resources.NO_INTERACTION, 5);
                }
                InterfaceObjects.ItemBinding.unbindItem();
            }
            else
            {
                InterfaceObjects.ItemBinding.bindItemToCursor(frmObj, this);
            }
        }
 private void FrmObj_Click(object sender, EventArgs e)
 {
     if (InterfaceObjects.ItemBinding.hasBoundItem())
     {
         var obj = InterfaceObjects.ItemBinding.getBoundClass();
         if (obj is FlourAmount)
         {
             hasFlower = true;
             FlourAmount amt = obj as FlourAmount;
             amt.frmObj.Dispose();
             InterfaceObjects.ItemBinding.unbindItem(true);
             updateImage();
         }
         else if (obj is SugarAmount)
         {
             hasSugar = true;
             SugarAmount sug = obj as SugarAmount;
             sug.frmObj.Dispose();
             InterfaceObjects.ItemBinding.unbindItem(true);
             updateImage();
         }
         else if (obj is Egg)
         {
             eggCount++;
             Egg egg = obj as Egg;
             frm.formObj.Remove("egg");
             frm.Controls.Remove(egg.frmObj);
             InterfaceObjects.ItemBinding.unbindItem(true);
             updateImage();
         }
         else if (obj is Soda)
         {
             hasSoda = true;
             Soda soda = obj as Soda;
             soda.frmObj.Dispose();
             InterfaceObjects.ItemBinding.unbindItem();
         }
         else if (obj is ButterMilk)
         {
             hasButtermilk = true;
             ButterMilk milk = obj as ButterMilk;
             milk.frmObj.Dispose();
             InterfaceObjects.ItemBinding.unbindItem();
         }
         else if (obj is Cocoa)
         {
             hasCocoa = true;
             Cocoa cocoa = obj as Cocoa;
             cocoa.frmObj.Dispose();
             InterfaceObjects.ItemBinding.unbindItem();
             updateImage();
         }
         else if (obj is Mixer)
         {
             Mixer mixer = obj as Mixer;
             if (isFinished())
             {
                 isMixed = true;
                 mixer.frmObj.Dispose();
                 InterfaceObjects.ItemBinding.unbindItem();
                 TaskListBox tasks = frm.formObj["tasks"] as TaskListBox;
                 tasks.markTaskComplete(Properties.Resources.INSTRUCTION_9);
                 updateImage();
             }
         }
         else if (obj is MeltingBowl)
         {
             MeltingBowl bowl = obj as MeltingBowl;
             if (bowl.isBowlMelted())
             {
                 hasChocolate = true;
                 bowl.frmObj.Dispose();
                 InterfaceObjects.ItemBinding.unbindItem();
                 TaskListBox tasks = frm.formObj["tasks"] as TaskListBox;
                 tasks.markTaskComplete(Properties.Resources.INSTRUCTION_8);
                 updateImage();
             }
             else
             {
                 ErrorLogic.Error.showErrorDialog(Properties.Resources.NOT_READY, 5);
             }
         }
         else if (obj is Flour || obj is Sugar)
         {
             ErrorLogic.Error.showErrorDialog(Properties.Resources.NOT_READY, 5);
         }
         else
         {
             ErrorLogic.Error.showErrorDialog(Properties.Resources.NO_INTERACTION, 5);
         }
         checkState();
         InteractionMarker mrk = frm.formObj["marker"] as InteractionMarker;
         mrk.hide();
     }
     else
     {
         InterfaceObjects.ItemBinding.bindItemToCursor(frmObj, this);
     }
 }