インフラジスティックス・ジャパン株式会社Blog

インフラジスティックス・ジャパン株式会社のチームメンバーが技術トレンド、製品Tips、サポート情報からライセンス、日々の業務から感じることなど、さまざまなトピックについてお伝えするBlogです。

Windows Forms コンポーネントのプロパティ設定 TIPS

弊社 Windows Forms 製品には、非常に多くの機能が提供されており、プロパティを通じて様々な機能を有効化することができます。製品が多機能なため様々なことがプロパティ設定でできる反面、どのような機能が提供されているのかの把握に難しさを感じる方がいらっしゃるのも事実です。技術サポートを通じて様々なプロパティをお客様に案内するのですが、今回は、該当プロパティにたどり着く上で便利な手法を2つ紹介します。

※ 今回紹介する手法は、弊社製品のみならず、Windows Forms 開発の一般的な知識となります。

方法1:PropertyGrid を利用する

デザインタイムであれば、Visual Studio のプロパティウィンドウを使うことで、コンポーネントのプロパティを変更することができます。但し、デザインタイムとランタイムを行ったり来たりすることが手間に感じることもあると思います。 PropertyGrid を利用することで、実行時にマウス操作でプロパティの値を切り替えることができ、デザインタイムとランタイム切り替えの手間を省くことができます。

操作の様子

↑ PropertyGrid を通じて、UltraGrid のプロパティ変更ができていることが分かります。機能が切り替わる様子や、選択行の色が変わっています。

使い方

PropertyGrid の使い方は SelectedObject プロパティに、操作対象としたいコンポーネントを指定します。ここでは SelectedObject プロティに UltraGrid のインスタンスを指定しています。

this.propertyGrid1.SelectedObject = this.ultraGrid1;

サンプルをダウンロードしてアプリケーションを実行すると、先のスクリーンショットのように、ランタイムでプロパティ設定を試すことができます。

サンプルアプリケーションのダウンロード

方法2:デザイナファイルのコードを流用する

デザイナ上で編集した内容は、Designer.cs ファイル(デザイナファイル)にコードが生成されています。プロパティウィンドウでの設定をコードで表現したい場合、プロパティウィンドウでのプロパティ設定後に、デザイナファイルのコードを参照する方法があります。プロパティウィンドウで設定できるが、コードではどのようにプロパティを追ってよいか分からない場合に、特に有用な方法です。

例えば、プロパティウィンドウで UltraGrid > DisplayLayout > ViewStyleBand プロパティの値を "OutlookGroupBy" に変更した場合、デザイナファイルにも対応する C# コードが記述されていることが分かります。

プロパティウィンドウ

デザイナファイル

※ デザイナファイルのコードを直接変更してしまうと、予期せぬ動作につながる可能性があります。デザイナファイルのコードを変更しないように注意ください。

使い方

デザイナファイルの該当プロパティ設定コードを参考に、コードビハインドに改めて実装しなおせば OK です。なお、プロパティウィンドウでのプロパティ設定と、コードビハインドでのプロパティ設定が重複しないようにご注意ください。

まとめ

今回は、PropertyGrid の活用と、デザイナファイルの仕組みを活用する方法を紹介しました。弊社サポートチームや、お客様においても実践されている手法です。よかったら試してみてください。 但し、それでもなかなか希望される機能を見つけられない場合、弊社の技術サポートへお問い合わせください!

技術サポートへのお問い合わせについて | サポート | インフラジスティックス ・ジャパン株式会社