1
プロジェクトで特定のフォームを開いて編集するときにリマインダを表示したいと思います。これは、Visual Studioのデザインモード中に発生します。Winformでデザインモードに入るときにダイアログを表示
私はMessageBox.Showをコンストラクタ、ペイントとロードイベントに入れてみましたが、何も動作していないようです。それも可能ですか?
public Form1()
{
InitializeComponent();
if (this.DesignMode)
{
MessageBox.Show("Remember to fix the xyz control!");
}
if (LicenseManager.UsageMode == LicenseUsageMode.Designtime)
{
MessageBox.Show("Remember to fix the xyz control!");
}
}
ダイアログボックスについてはわかりませんが、TODOを使用することもできます。[タスクリストの使用](https://msdn.microsoft.com/en-us/library/txtwdysk.aspx) –
コンストラクタのコードデザイン時にフォームの実行されません。デザイナーは、フォームの基本クラスのインスタンスを作成し、フォームのコンストラクターには表示されません。したがって、設計時にコードを実行する必要がある場合は、フォームの基本クラスのコンストラクタにコードを記述します。デザイナーのしくみと興味深い例を見るには、[C#でフォームをコーディングするときデザイナーを見ることができない](http://stackoverflow.com/a/32299687/3110834)と[ WinFormsアプリケーションでデザインビューにコントロールをプログラムで追加しましたか?](http://stackoverflow.com/a/33535154/3110834) –
これは問題なく動作します。しかし、Form1は、設計しているフォームの*基本クラス*でなければなりません。デフォルトの基本クラスは 'Form'ですが、それは不平を言っていません。そして、とりわけ、それは編集される必要はありません、それは既に行われました。 –