そういえば、VisualStudio.NETでは作成できなくて、SharpDevelopのみで作成できるものとして、XMLFormsというものがあります。XMLでフォームデザインをしていくというもの。SharpDevelop.jpのフォーラムで質問してみたところ、やっぱり情報は少ないみたいです。SharpDevelop内部用・・・というのが主みたいですね。たしかに、SharpDevelopのディレクトリを探してみると、xfrmのファイルがたくさん見つかります。
SharpDevelopはregion折りたたみルーチンが甘いのか、ちょくちょくinitializeComponentが表示されてしまいます。なので、C#だけで書くとすぐにエディタが重たくなってしまう。それをどうにかできないか?と思ったんですが・・・。
なんとか自作アプリで使用する方法はないものか?探してみました。
英語のサイトで、使用例が見つかりました。
404 Unknown page Using+the+SharpDevelop+IDE+and+XmlForms
Boo言語という、どうやらオリジナルの言語みたいですが、大体察しはつきます。わたしも試してみましたが、普通のフォームのように表示することができました。
System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly(); this.SetupFromXmlStream(asm.GetManifestResourceStream("MainForm.xfrm"));
でも、やっぱりイベントハンドラはコードで設定しなくちゃいけないんですよねえ、メニューがあるメインフォームなどでは特に大変です。
DelphiのActionListみたいなコンポーネントがあって、それがXMLFormsと実コードの橋渡しをしてくれる・・・みたいな仕組みがあれば何とかできそうですが。