DOBON.NET DOBON.NETプログラミング掲示板過去ログ

VisualStudioのデザイナを実現したい

分類:[.NET]

OS = 2K/XP/Vista/7
Language = VB/C#/DelphiPrism
.NET = 2.0

こんにちわ

VisualStudioのフォームデザイナを自作で実現させたいと思っています。
理想は「そのもの」を目指していて、例えばメニューやToolStripなども
VSのようにその場でデザインできるような機能にしたく思っています。

全部自力で作ろうとするとかなり大変なので、.NETのクラスに
フォームデザインに関するクラスがないか調べたのですが、どうにも見つけられません。
System.Windows.FormsにDesign名前空間がありましたがActiveXのプロパティフォームをなんたら...と関係なさそうなものでした。

またgoogle等で調べても、そもそもそんな事をやろうとしてる人がいないのか
情報が全く出てきません。
(自作ToolStripをVSのToolStripデザイナ上で扱う、というのはどぼんさんで見つけましたが...)

藁をも掴む思いで投稿させて頂きました、何か情報がありましたら是非ご教示お願いしますm(_ _)m
■No26478に返信(月夜見命さんの記事)
> VisualStudioのフォームデザイナを自作で実現させたいと思っています。
> 理想は「そのもの」を目指していて、例えばメニューやToolStripなども
> VSのようにその場でデザインできるような機能にしたく思っています。
>
> 全部自力で作ろうとするとかなり大変なので、.NETのクラスに
> フォームデザインに関するクラスがないか調べたのですが、どうにも見つけられません。

  無いと思うナ〜

  有償商品として無ければ、全て自作だと思います。
  ただ、マイクロソフトは認めていないと思うので、そのアプリで
  作られたものの保障は無くなるかと・・・

以上。私見です。
返信ありがとうございます

VisualStudioではないWinFormのデザイナはDelphi for .NETが実現していたので
何か方法があるんだろうと思っただけです。
自作しかないなら自作します。

ただ
■No26479に返信(オショウさんの記事)
>   ただ、マイクロソフトは認めていないと思うので、そのアプリで
>   作られたものの保障は無くなるかと・・・

の意味がよくわかりませんでした…
VSのフォームデザイナのようなデザイナを作ることはMSの規約でNG??
■No26480に返信(月夜見命さんの記事)
> VSのフォームデザイナのようなデザイナを作ることはMSの規約でNG??

  ええ〜と・・・

'メモ: 以下のプロシージャは Windows フォーム デザイナで必要です。
'Windows フォーム デザイナを使用して変更できます。
'コード エディタを使って変更しないでください。

  このように書かれたコメントをコード中で見かけませんでしたか?

  デザイン関連ファイルとコードファイルに分かれていて別々に
  管理されていますが、この相互関係が崩れるような場合、正常
  に動作できなくなるので、このような縛りがあるのだと思いま
  す。

  マイクロソフト社に直接問い合わせてみては?

以上。
> VisualStudioのフォームデザイナを自作で実現させたいと思っています。

SharpDevelopというオープンソースのIDEがありますが、フォームデザイナの機能もありますので、参考になるのではないでしょうか?

SharpDevelop @ic#code
http://www.icsharpcode.net/OpenSource/SD/

また、

Crafting a C# Forms Editor from scratch - CodeProject
http://www.codeproject.com/KB/cs/SharpFormEditorDemo.aspx

という記事も見つけました。参考になるでしょうか?
情報という意味では…できあがっている全体になりますが壮大なものがあります。
昔から「SharpDevelop」というVisualStudioとよく似た.NET統合開発環境ソフトがあり、
オープンソースで提供されていてこれ自体が.NETのアプリです。
 余談ですが、私は.NETアプリの開発に着手した頃はスタジオを買えなかった上に
 買えてもスタジオが動くOSではなかったため、無料のこれでしばらく開発してました。
 途中でスタジオもOSも手に入り、少ししてスタジオの方のフォームデザイナが読み込むメソッドの名前が
 変更になって(確かInitializeComponentsをInitializeComponentに変えたのだったような?)
 そのままでは読んでくれなくなったのを機に「どうせスタジオ手に入ったのだし」と使うのをやめましたが、
 当時は個人的に機能面の不満はまぁなかったような記憶があります。

元々相当なことができたソフトなのですが今や更に色々できるアプリになっているなため巨大になり、ソース35MB。
この森の中から自分の欲しい枝を見つけ自分の欲しい多数の色々な楊枝なんかを研ぎ出すのは
とんでもなく大変かもしれませんが、情報としては壮大な規模のものになると思います。


(うわ!たらたら書いてる間に管理人さんが既に…。)
返信ありがとうございます

>オショウさま
んーと、VSが吐いたデザイナコード云々は関係ないと思います…
私が言っているのは極端に表現すれば、「VisualStudioレベルのIDEを作りたい」です。
実際に作りたいのは開発環境ではないのですが、フォームデザインを
パワーユーザに行わせることがあり、VSレベルのユーザフレンドリーなフォームデザイナを実現できればなぁ
という構想でした。

>管理人様、こど。さま
ありがとうございます!すっかりSharpDevelopの存在を忘れていました(失礼
こいつのソースを解析していきたいと思います


回答くださった皆様ありがとうございました
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板