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

MessageBoxクラスを継承したい。。。

環境/言語:[WindowsXP、.NET Framework2.0]
分類:[.NET]

VS2005、.NetFramework2.0を利用しています。
MessageBoxの機能をそのまま利用し、画面サイズ、フォントサイズのみ変更したいと
考えており、MessageBoxを継承して作成できないかな?と思っているのですが、
どのように作成したらいいのかがわかりません。

通常の継承ですと、新規ファイルを作成し、ソースコードにてInherits 親クラスとすれば
よいのでしょうが、MessageBoxクラスでは当然画面(Designer)も絡んできます。

ご存知の方、教えて頂けないでしょうか。
宜しくお願い致します。
System.Windows.Forms.MessageBox クラスは継承できません。
機能だけであれば、ラッパークラスを作ることになりますが、
デザインにまで関わってくる場合は、自作しかありません。
■No18304に返信(じゃんぬねっとさんの記事)
> System.Windows.Forms.MessageBox クラスは継承できません。
> 機能だけであれば、ラッパークラスを作ることになりますが、
> デザインにまで関わってくる場合は、自作しかありません。


すいません。。。ラッパークラスがあまりわからないです(>_<;)
機能的にはMessageBoxクラスそのままでOKです。
 ・OKボタン、キャンセルボタン、再試行ボタンetc...は
  MessageBoxクラスと同様に定数設定で動的に変化したい。
 ・InformationやExplainなどの、メッセージボックス内に表示する
  画像も同様にそのまま利用したい。
デザインについては、フォームサイズ、フォントサイズは大きくしたい。

このような内容なのですが、これはそのラッパークラスというもので
作成できるのでしょうか?サンプル又は、参考HP等教えて頂けると
ありがたいです(>_<;)

宜しくお願い致します。
2006/11/21(Tue) 14:38:22 編集(投稿者)

思いっきり面倒なことをしなければ不可能です。
(思いっきり面倒なこと=システムフック&サブクラス化。VB.NET,C#ではやったこんない)

ですので、やはり似たようなフォームを作ったほうが 10倍 簡単でしょう。
(安全だし、汎用性ありそうだし)


>VS2005、.NetFramework2.0
C++/CLIも入っているならば
>システムフック&サブクラス化
は、アリかもしれないけど。
ちょっと訂正。

システムフックを使わなくても、スレッドをうまいこと使えば、画面サイズぐらいならかえれそう。
(フォントは難しいかも。)

参考:http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=34615&forum=7
ありがとうございます。
どちらにしても、多少手間がいりそうですね(^_^;

通常のWindowsFormを利用して似たようなのを作成するとすれば、
ボタンクリックのイベントではSystem.Windows.Forms.DialogResult.OKなどの
値を返すようにすればよいと思いますが、InformationやExplainなどの
画像はVisualStudioの画像からパクる形になるのですかね??(^_^;
しかも動的にボタンを変化させるということは、Visibleで変化させると
いった形だと想像していますが。。。
2006/11/21(Tue) 17:33:59 編集(投稿者)

お世話になっております

> しかも動的にボタンを変化させるということは、Visibleで変化させると
> いった形だと想像していますが。。。

その他にもボタンを動的に作成して
並べる方法もアリではないでしょうか?

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