Fun and games with Visual Studio 2010 beta 2

ctodx
05 November 2009

Well, Houston, it seems we have a problem. The majority — if not all — of our WinForms controls will not work in VS2010 beta 2. To be blunt, there seems to be some serious design flaws.

The problem is that VS2010 beta 2 doesn’t generate any code for the ISupportInitialize interface when you drop controls on a form. In particular, it must generate calls to the BeginInit and EndInit methods of that interface inside InitializeComponent().

Here's an example from VS2008:

private void InitializeComponent() {
  this.dataGridView1 = new System.Windows.Forms.DataGridView();
  ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); // <<***
  this.SuspendLayout();

  // other code dealing with dataGridView1

  ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); // <<*** 
  this.ResumeLayout(false); 
  ...
}

But, with VS2010 we get this:

private void InitializeComponent() {
  this.dataGridView1 = new System.Windows.Forms.DataGridView();
  this.SuspendLayout();

  // other code dealing with dataGridView1

  this.ResumeLayout(false);
  ...
}

Note how the two marked statements from the VS2008 example have disappeared with VS2010 beta 2. Also note that you don't have to use a third-party control, like ours, you can just use the standard DataGridView control to see the problem.

In essence, our WinForms controls can’t (and won't) work properly when the calls to BeginInit/EndInit are not generated at design-time by the IDE like this. There is nothing we can do either: this generated code creates the controls on the form and, by the time our run-time code gets hold of the form, it's way too late (if an exception hasn't already been thrown, of course).

This issue has already been reported by others to Microsoft. Here's an example: http://beta.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=499882

So, enjoy your testing of VS2010 beta 2. We'll be seeing you the other side.

Free DevExpress Products - Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We'll be happy to follow-up.
No Comments

Please login or register to post comments.