What is the best way ?
You can't change the declaration type of a property, event, or method. If you want to hide it, then your only option would be to add an attribute like <Browsable(False)> _ to prevent it from showing up in the designer. There are other attributes as well depending on what you are trying to accoimplish, but you cannot turn a public into a private, etc. That totally violates object oriented programming and you will have downstream issues.