ユーザー コントロール ExpressionControl を名前空間の下に定義しました。
TriggerEditor.UserControls
名前空間の下に「IfEditor」というフォームがあります。
TriggerEditor.Forms
コントロールのインスタンスをフォームに追加すると (expCondition という名前を付けます)、デザイナーで次のコードが生成され、コントロールが作成されます。
this.expCondition = new TriggerEditor.UserControls.ExpressionControl();
これにより、次のコンパイル エラーが発生します。
The type name 'UserControls' does not exist in the type 'TriggerEditor.Forms.TriggerEditor'
なぜ「TriggerEditor.Forms.TriggerEditor」を見ているのかわかりません。それはコードが言うことではありません。これで、行を変更して「TriggerEditor」を削除することで、このエラーを手動で解決できます。「TriggerControls」の前にあるものは次のとおりです。
this.expCondition = new UserControls.ExpressionControl();
これはコンパイラを満足させますが、ExpressionControl のインスタンスをフォームに追加するたびにこれを実行したくないことは明らかです。この状況を回避するにはどうすればよいですか?