フォームの読み込み時に、フォームX
を開くか閉じるかを決定するために、多くのチェックを行う必要があります。以下は簡単な例です。
public partial class BaseForm : Form
{
private void BaseForm_Load(object sender, EventArgs e)
{
if(!IsUserValid())
MessageBox.Show("User is not valid");
}
private bool IsUserValid()
{
List<string> allowedUsernames = new List<string>();
using (SqlConnection con = new SqlConnection(_connectionString))
{
//Get a list of usernames, none of which are "Developer" usernames
}
return allowedUsernames.Any(username => username == Environment.UserName);
}
}
public partial class DerivedForm : BaseForm
{
}
上記の例では、ユーザー名に関係なく、フォームをデザイナーに完全にロードできます。別のフォームを実行してベースを継承する場合、それDerivedForm
は呼び出して、デザイナーにアクセスできない設計モードをLoad
表示しMessageBox
、次にデザイナーにアクセスできないフォームを表示します。 ?あなたが継承をしている場合、ロードイベントを使用しないことは賢明でしょうか?Close
WindowsForm
Load
WindowsForms
私はこれが変だと思っただけです、誰か知っていますか?