1

OSS プロジェクトでは、コントロールをプログラムで WinForms ビューに追加しようとしています..そして、これらを Visual Studio Designer のように編集およびサイズ変更可能にしたいと考えています。Controls.Add(label).. を使用して、プログラムで追加して遊んでいますが、UI を編集可能にする方法を見つけるのに苦労しています。

私はそれがDesignModeを利用すると仮定していますが、これらのプロパティのセッターではなくゲッターしか見つけることができません。簡単に言えば、プログラムで WinForms の DesignMode を有効または無効にする方法はありますか?

私はまだWPFを調査していません-おそらく編集可能なコントロールを持つことができるでしょうか?

どうもありがとう、クリスマスの直後に苦労してごめんなさい.. T

4

3 に答える 3

4

実際には、VS デザイナーのように UI を編集可能にする方法があります。フォームで winforms デザイナーをホストする必要があります。この情報が役立つかもしれません: http://msdn.microsoft.com/en-us/magazine/cc163634.aspx

于 2009-12-27T21:43:22.073 に答える
2

alexm で説明されているように、WinForm で利用できます。残念ながら、これは WPF デザイナーには当てはまりません。そこでは、独自のデザイナーを実装する必要があります。

于 2009-12-27T21:51:53.093 に答える
1

私の知る限り、デザイナーの機能は Visual Studio に実装されており、WinForms ランタイム ライブラリの一部ではありません。DesignMode プロパティは、実行コンテキストに関する情報を提供するため、読み取り専用です。これはその場で変更できるものではありません (ちなみに、このプロパティは思ったほど使いやすいものではありません)。

実行時に UI を編集可能にする (つまり、コントロールのサイズ/レイアウトを変更する) 場合は、多くの動作を手動で実装する必要があります (たとえば、OnMouseDown ハンドラーなど)。角をつかむことができるバウンディング ボックスを描画するようなことをしたい場合は、カスタム描画を掘り下げる必要があるかもしれません。

WPF については経験が少ないため、よくわかりませんが、 SO に関するこの質問には、実行時にコントロールのサイズを変更できるようにすることに関する情報が含まれています。

于 2009-12-27T21:29:50.697 に答える