Microsoft Azure – cloud computing platform from Microsoft

With big players and enterprises looking up at cloud computing and with taking the lead for on demand applications, can Microsoft be far behind.

At the recently concluded PDC 2008 , MS launched Microsoft Azure ; a host of on demand services.

In fact not in the true sense of cloud computing, Microsoft had started the project codenamed Hailstorm. Initially called .NET My Services it was supposed to be a framework to build applications upon. However for some reason it did not make its mark.

With various changes in the internet shelf of Microsoft, like introduction of Live Services, Skydrive, Office Workspace it was soon becoming ominous that MS shall be launching a new framework for the developer community to embrace.

Microsoft Azure looks all set for cloud computing and even has a SDK/tools which integrate with Visual Studio 2008 ; so developers can code in C# , and other .NET languages.

Some related resources can also be found in the Azure MSDN site.


TableLayout Panel – Problems and Solutions

If you have used TableLayoutPanel ( in .NET 2.0 ) you must have faced with excessive flickers when drawing several table layout panels.

Here I am posting some I had faced along with the solutions .

1) Creating multiple TableLayoutPanel objects

foreach(TableLayoutPanelobj in TableLayoutPanelList)
obj.SuspendLayout() ;

// code for your drawing goes here

foreach(TableLayoutPanelobj in TableLayoutPanelList)
obj.ResumeLayout() ;

ResumeLayout has a default parameter set to true, hence it also calls PerformLayout.

2) The above solution shall still have some flickers , here is the solution to remove that

Create a class which inherits from TableLayoutPanel, like the one below .

class MyTableLayout : public TableLayoutPanel
MyTableLayout( )
this.DoubleBuffered = true ;
Use the MyTableLayout object in your classes , there shall be no flicker .

Ovveriding Handle in C#

If one is making a composite control and needs to give the
inner control the user to work with , just ovveride the Handle

// OuterControl.cs

public new IntPtr Handle {

get { return m_InnerControl.Handle; }


In C# Handle is derived from NativeWindow .

Ovveriding Handle is not recommended as this is a internal to Windows, so the user should be very confident while performing such operations.

Exposing Hidden Events

I found this small little note while surfing for my requirements … adding it to my blog so everybody can benefit.

I recently ran into a neat little nugget of functionality in C# with events. Normally in C# when we define events we stop at something like this:public event EventHandler MyEvent;
The thing is, you can explicitly implement the add and remove accessors if you throw some curly braces into the mix. Why does this matter? Imagine that you have a MainForm, and a usercontrol named ControlPanel. ControlPanel contains another usercontrol called hiddenControl that exposes an event that you want to handle in MainForm, but all MainForm has access to is ControlPanel…

public event EventHandler MyEvent
this.hiddenControl.MyEvent += value;

this.hiddenControl.MyEvent -= value;


Now you can subscribe to the event in MainForm without making the usercontrol member public in ControlPanel.