I want to set the scope of the custom properties of visual web part so that every time user add the custom web part in different page in pages library, values can be changed for the properties and this should not effect the values set on other pages. The user adding the web part to different pages will be same. how can we achieve this? We can set the visual web part property scope as per user scope http://msdn.microsoft.com/en-us/library/office/ee550703(v=office.14).aspx.
The scope for user should work, just type the following code attribute when you declare the custom property:
Doesn't matter if a admin user creates the pages and add some webparts, SP will save the webpart properties for each specific user. But the user will need to update the properties for each webpart.
The properties are for each webpart so they shouldn't affect each other, even if you set "PersonalizationScope.Shared" each webpart should have its own property value, but it will be shared to all users.