As littleguru mentioned, you can't. You can hide properties in the Property Window in Visual Studio by setting the Visibility (er...I don't remember what attribute it is offhand actually), but the user will always be able to set the property in code. It is not good design to make properties dependent on each other. Properties should be able to be set in any order at any time. What exactly are your properties? Maybe we could make a suggestion on how to set them up a different way.