Вы можете поиграть с Control, чтобы установить привилегии пользователя, что, я думаю, хорошо (я иногда использовал это для контроля), получая права пользователя с сервера базы данных или службы (Web или WCF).Вы можете создать 2 аналогичные формы, где первая предназначена для администратора, а вторая - для пользователя, у которого у пользователя на 2 или 3 кнопки меньше, чем для администратора, или у вас может быть одна форма, в которой вы можете скрыть или показать кнопки и другие элементы управления черезкод валидатора.Другой способ, которым я бы предпочел, - это разработка программного модуля на основе.Создайте как можно больше модулей DLL (это занимает больше времени), чем загрузка или выгрузка и проверка требуемого модуля для нужного пользователя.И, возможно, было бы неплохо проверить каждый метод с помощью логического значения.