tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルFormにInheritsするとエラー
記事No6069
投稿日: 2007/08/09(Thu) 16:34
投稿者ひでと
Formにクラスを継承させようとするとエラーになります。

Public Class Form1
    Inherits clsClass
End Class

としただけなのですが

クラス '<partialclassname>' に指定された基本クラス '<baseclassname1>' は、その他の partial 型の 1 つである基本クラス '<baseclassname2>' と異なることはできません

なんですが、どのようにすればよいのでしょうか?

[ツリー表示へ]
タイトルRe: FormにInheritsするとエラー
記事No6072
投稿日: 2007/08/09(Thu) 16:45
投稿者るしぇ
まずは正確なエラーメッセージで検索してみることです。
ヘルプ(MSDN)に説明があります。
http://msdn2.microsoft.com/ja-jp/library/8d17t7cd(vs.80).aspx

[ツリー表示へ]
タイトルRe: FormにInheritsするとエラー
記事No6073
投稿日: 2007/08/09(Thu) 17:08
投稿者大吉末吉
> Formにクラスを継承させようとするとエラーになります。
>
> Public Class Form1
>     Inherits clsClass
> End Class
>
> としただけなのですが
>
> クラス '<partialclassname>' に指定された基本クラス '<baseclassname1>' は、その他の partial 型の 1 つである基本クラス '<baseclassname2>' と異なることはできません
>
> なんですが、どのようにすればよいのでしょうか?

多分、私の発言
http://hanatyan.sakura.ne.jp/vbnetbbs/wforum.cgi?no=6047&reno=6046&oya=6027&mode=msgview&page=0
を受けてだと思いますが・・・

これ、できないですね。

VB.NETのFormクラスは、「System.Windows.Forms.Form」を継承する必要があります。
ところが、VB.NETでは、「クラスは他の1 つのクラスからしか継承できない」
と言う制約があるので、「Class1」は駄目と言うことに。

Form1の「System.Windows.Forms.Form」を継承先から外して、
代わりに「Class1」に「System.Windows.Forms.Form」を継承させればできるかも・・・

でもコレって、実質、ひでとさんが実際にやられている「継承されたフォーム」と同じことに・・・

[ツリー表示へ]
タイトルRe^2: FormにInheritsするとエラー
記事No6078
投稿日: 2007/08/10(Fri) 10:17
投稿者ひでと
ありがとうございます。
>
> 多分、私の発言
> (http://hanatyan.sakura.ne.jp/vbnetbbs/wforum.cgi?no=6047&reno=6046&oya=6027&mode=msgview&page=0
> を受けてだと思いますが・・・
>
> これ、できないですね。
この掲示板の中にもFormの中にInherritsを使ってる投稿があったと思います。
以前試してみて、「なぜできるんだろう?」と疑問に思っていました。
>
> VB.NETのFormクラスは、「System.Windows.Forms.Form」を継承する必要があります。
> ところが、VB.NETでは、「クラスは他の1 つのクラスからしか継承できない」
> と言う制約があるので、「Class1」は駄目と言うことに。
>
> Form1の「System.Windows.Forms.Form」を継承先から外して、
> 代わりに「Class1」に「System.Windows.Forms.Form」を継承させればできるかも・・・
>
> でもコレって、実質、ひでとさんが実際にやられている「継承されたフォーム」と同じことに・・・
魔界の仮面弁士さんのレスで
「AddHandler メソッドで動的にイベントを関連づけてやれば OK です。」
というのを教えていただいたので、そちらの方をアプローチしてみます。

[ツリー表示へ]