So-net無料ブログ作成

画面作成中にユーザーコントロールのLoadイベントを処理させない [VB.NET]

ユーザーコントロールを使用したForm画面の作成中に次のエラーが出てForm画面が開かなくなった。
"ユーザー '' はログインできませんでした。"

ユーザーコントロールのLoadイベントにApp.configからDBへの接続情報を取得して
DBからデータを取得、表示をするプログラムを追加してからエラーが出ていた。

Form画面を開くときに、配置したユーザーコントロールのLoadイベントが実行され
App.configから接続情報を取得できていないのが原因で、DBへの接続ができずエラーとなっていた。

画面作成中は、Loadイベントが実行されないようにしようと思って調べた時のメモ。
Private Sub UserCtrl_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    '開発中は処理をしない
    If Me.DesignMode Then Return

    'DBへの接続と取得・表示

End Private

参考URL:.NET:Tips > デザイン:デザイン時に処理を実行させない

ユーザーコントロールが入れ子になっているとき、子のユーザーコントロールの
DesignModeはFalseを返すようです。
その情報を調べた時のメモ。
参考URL:デザインモード(this.DesignMode)を正しく得ることができない場合があります
参考URL:入れ子させた UserControl の DesignMode が false になるのを回避したい
nice!(1)  コメント(0) 

nice! 1

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。