Не делайте этого.
access modifiers
предназначены для руководства разработчиками.Они никоим образом не предлагают никакой защиты от использования.
Разработчик, который хочет получить к ним доступ, способен, даже если они являются частными и связываются с настройками по умолчанию, что может привести к серьезным проблемам.
В качестве альтернативы ...
Если ваша форма является полностью отдельной функцией или функцией, создайте оболочку вокруг формы.
Например:
//the wrapper
public class PropertyPages : IPropertyPages
{
//your wrapped form...
private YourForm _propertyForm = new YourForm();
//a public show, but the form itself remain inaccessible.
public void Show()
{
_propertyForm.Show();
}
}