Greg Robinson's Blog

I report it, you decide

Click Once

Custom Authentication in Windows Forms

DataBinding Stuff

Favorite Links

My book contribution

My Book Reviews

My Personal Life

Richmond, VA .NET Users Group

Smart Client Stuff

What I am reading

May 2003 - Posts

Passing of a pet

Since Scott asked us to keep the topics related to .net, I will simply say, for those who I have developed internet friendships with, one of our pets, unexpectly and suddenly passed away yesterday.  Details are on my personal blog.  I am in shock and I am grieving more than I ever thought I would. 

If you own a large dog|breed, please take a look at my comments as this can easily happen to any large dog.  Do some reasearch on Bloat and talk to your vet.  We have 3 other dogs and they gave us some great advise on how to help reduce the chances that this will occur with one of them. 

 

   

 

 

DataBinding

If you are building a Windows Form app, take advantage of Databinding.  Learn all you can about this.  If you can use ADO.NET types as your dataSources, even better.  Wow, what a nice job MS has done with this and what a time saver.

[Now Playing: Thievery Corporation - All That We Perceive (03:46)]

wmp9 test

test

VB.NET and Heaven in the same sentence....

Wow, I have died and gone to...well, VB.NET Heaven

http://www.vbdotnetheaven.com/

Wrox Books

Seems APress bought the title to the Wrox book I co-authored, but as they state 'things are very confused'. 

For the Wrox authors out there, I suggest you contact Wiley or APress to see where your book(s) landed.

overflow checking

You learn something new everyday.  This link has been tossed around over the past couple of days.  Within 5 minutes of reading it, I discovered a potential performance issue in our apps.  That is overflow checking.  As the article clearly states, turn it off if an overflow is not considered an exception. 

Collapsing|Expanding comments

A colleague of mine just showed me this.  At the start of each method we have a standard look and feel for commenting the purpose of the method, the author, date written, modifications etc.  Well, you can move these comments to outside the method signature and the comments will be collapsible! Pretty cool.  Just make sure the comments are before the method signature and after the last methods End (VB.NET of course)

 

  

Why do we blog...hmmm...really

I have been giving this some thought lately.  Usually as I go through 200+ blogs to read every morning captured by Mr. Newsgator.  Which ones catch my attention and why?  Think about this for a few minutes.  Why do you blog and why do you read blogs?

In some respects, it seems like a lot of folks blogs to be heard and recognized.  Kind of a 'tooting their own horn'.  I personally think this is the majority. 

In some respects, it seems some folks blog because they truly want to share.  I think I fall into this category and these are the ones I like to read. 

In some respects, it seems some folks blog as a personal journal...something they can look back on.  I think I fall into this category too. 

In some respects, it seems some folks blog so others know what they are up to..colleagues, friends, family and the like.  I think I fall into this category too.

Have I missed any?

So, take a few minutes and REALLY think about it.  Why do you blog and why do you read blogs.  The more I thought of this, the less I found myself blogging and the more subscriptions I removed from my blog list.  

This is not a negative post.  Rather, one to make you think (which I love to ask people to do)  

Pay attention to "#Region " Windows Form Designer generated code "

We are building a windows form app.  We have approx 30 controls on one of our forms.  One of these controls is a custom ComboBox which has about 10 custom properties that can be set at design time.  The main ones allow one ComboBox to be linked to another one.  

One of the properties does  a check against 2 other properties before it assigns the value.  In the designer, I kept setting the property.  However, at runtime the property was always empty.  As a test, i set the property in the designer, closed the form, re-opened the form and the property was empty!

Why?  This took a few minutes to figure out, but take a look at the following which is auto-generated when the control is 'dropped' onto the form:

'cboType
                '
                Me.cboType.AddItems = False
                Me.cboType.BindingColumn = "ty"
                Me.cboType.BindingTable = "names"
                Me.cboType.ChildColumnName = "misc1"
                Me.cboType.ChildDataTable = Nothing
                Me.cboType.ChildDataTableName = Nothing
                Me.cboType.CodeDescription = Nothing
                Me.cboType.CodeDescriptionMaxLength = 0
                Me.cboType.CodeLength = 0
                Me.cboType.DataMember = "ty"
                Me.cboType.DataTableType = CustomDataSystems.CustomControls.CDSCombobox.CboDataTableType.Child
                Me.cboType.IsLinked = True
                Me.cboType.LinkedTo = Me.cboStatus
                Me.cboType.Location = New System.Drawing.Point(368, 128)
                Me.cboType.Name = "cboType"
                Me.cboType.ParentColumnName = Nothing
                Me.cboType.ParentDataTable = Nothing
                Me.cboType.ParentDataTableName = Nothing
                Me.cboType.Size = New System.Drawing.Size(256, 22)
                Me.cboType.TabIndex = 35

The properties are auto-generated in alphabetical order.  The property that would never save in the designer was:

Me.cboType.ChildColumnName = "misc1"

Why did it not set?  because, in the actual property code, I checked IsLinked and DataTableType first before assigning the private variable.  Well, these 2 are set AFTER ChildColumnName, so, the IDE could not stored the property value set in the designer.  How to resolve this?  Move the property assignment down the list so that it is after the other properties that need to be set:

                'cboType
                '
                Me.cboType.AddItems = False
                Me.cboType.BindingColumn = "ty"
                Me.cboType.BindingTable = "names"
                Me.cboType.ChildDataTable = Nothing
                Me.cboType.ChildDataTableName = Nothing
                Me.cboType.CodeDescription = Nothing
                Me.cboType.CodeDescriptionMaxLength = 0
                Me.cboType.CodeLength = 0
                Me.cboType.DataMember = "ty"
                Me.cboType.DataTableType = CustomDataSystems.CustomControls.CDSCombobox.CboDataTableType.Child
                Me.cboType.IsLinked = True
                Me.cboType.LinkedTo = Me.cboStatus
                Me.cboType.Location = New System.Drawing.Point(368, 128)
                Me.cboType.Name = "cboType"
                Me.cboType.ParentColumnName = Nothing
                Me.cboType.ParentDataTable = Nothing
                Me.cboType.ParentDataTableName = Nothing
                Me.cboType.ChildColumnName = "misc1"
                Me.cboType.Size = New System.Drawing.Size(256, 22)
                Me.cboType.TabIndex = 35

Now. ChildColumnName is set AFTER IsLinked and DataTableType.  Now, I can set the property a design time with the designer.

 

 

 

 

 

test

this is a NewsGator test

More Posts Next page »