In consideration to readability, I personally discourage my own use of this construct because I think it actually makes things less readable. If you have lots of lines that start with "." you may soon lose track of what's before the ".". Particularly if you start nesting them.
Also, when you're debugging, you can't just mouseover the property that's dangling off the ".". If you find yourself using With to avoid a repetition of some complicated code chunk (like "CType(e.Item.Cells(0).Controls(2), Button)") then perhaps a better solution would be to make another variable to house that repeated object.
I'd rather see this:
objButton.property
objButton.property
objButton.property
than this:
.property
.property
.property
I seldom use With aside from a case where i have only a few (<=3) lines that could use it.
-
Peter