- PR -

継承フォームが開けない

投稿者投稿内容
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-09-29 16:51
こんにちは、じゃんぬ です。

引用:

KKKさんの書き込み (2005-09-29 16:47) より:
自分が作成したクラスが抽象クラスか具象クラスかが分かりません。

どうやって見分けたらいいですか?

また、違い等が分かるような参考ページはありますか?


ちょww ご自分の作成したクラスが抽象クラスかどうかは把握してくださいませ。

 Public MustInherit ClassHoge

ならば、抽象クラスですよね。

C# ならば、

 public abstract class ClassHoge {


_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
KKK
大ベテラン
会議室デビュー日: 2003/10/10
投稿数: 119
投稿日時: 2005-09-29 16:57
確認しましたが、具象クラスでした。

ということは、他になにか原因があるのでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-09-29 17:04
こんにちは、じゃんぬ です。

引用:

KKKさんの書き込み (2005-09-29 16:57) より:

確認しましたが、具象クラスでした。
ということは、他になにか原因があるのでしょうか?


私の先の投稿を見てください。
ところで、そのプログラムって実行した時は問題なく動きます?

ちなみに継承元フォームは DLL ですか?
それともプロジェクト参照ですか?


_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
KKK
大ベテラン
会議室デビュー日: 2003/10/10
投稿数: 119
投稿日時: 2005-09-29 17:12
実行したいのですが、環境の問題で来週くらいにしか実行できません。

また、継承元フォームはDLLで作成しています。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2005-09-29 18:28
ソースは手元にあるようですね。

「元になるフォーム」と「派生フォーム」をクラス宣言部周辺だけでもいいので、見せてもらえませんか?
KKK
大ベテラン
会議室デビュー日: 2003/10/10
投稿数: 119
投稿日時: 2005-09-29 19:07
【継承元】
Public Class frmAX000000
Inherits System.Windows.Forms.Form

#Region " Windows フォーム デザイナで生成されたコード "

Public Sub New()
MyBase.New()

【継承先】
Public Class frmAJ002000
Inherits BaseForm.frmAX000000

#Region " Windows フォーム デザイナで生成されたコード "

Public Sub New()
MyBase.New()

こんなぐらいでいいでしょうか?
お手数かけますが、よろしくお願いします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-09-29 19:13
こんにちは、じゃんぬ です。

引用:

KKKさんの書き込み (2005-09-29 19:07) より:

こんなぐらいでいいでしょうか?
お手数かけますが、よろしくお願いします。


BaseForm は名前空間ですかね?

それぞれのコンストラクタ内の InitializeComponent メソッド内も見たいのですが、
コードが膨大すぎるのであれば、止めた方がいいかなぁ... (;_ _)

もしコピペするなら、[code] タグを使ってコピペしてください。


_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
KKK
大ベテラン
会議室デビュー日: 2003/10/10
投稿数: 119
投稿日時: 2005-09-29 19:32
引用:


BaseForm は名前空間ですかね?




その通りです。
継承元のみだけでしたら、以下にコピペします。
(継承先は多すぎるので)

コード:

Public Sub New()
        MyBase.New()

        ' この呼び出しは Windows フォーム デザイナで必要です。
        InitializeComponent()

        ' InitializeComponent() 呼び出しの後に初期化を追加します。

    End Sub

    ' Form は、コンポーネント一覧に後処理を実行するために dispose をオーバーライドします。
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

' Windows フォーム デザイナで必要です。
    Private components As System.ComponentModel.IContainer

    ' メモ : 以下のプロシージャは、Windows フォーム デザイナで必要です。
    'Windows フォーム デザイナを使って変更してください。  
    ' コード エディタを使って変更しないでください。
    Friend WithEvents fixMain As GrapeCity.Win.Input.FunctionKey
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.fixMain = New GrapeCity.Win.Input.FunctionKey
        Me.SuspendLayout()
        '
        'fixMain
        '
        Me.fixMain.ActiveKeySet = "Default"
        Me.fixMain.ActiveStyleSet = Nothing
        Me.fixMain.ColumnGroups = "4|4|4"
        Me.fixMain.Location = New System.Drawing.Point(0, 643)
        Me.fixMain.Name = "fixMain"
        Me.fixMain.Size = New System.Drawing.Size(1012, 30)
        Me.fixMain.TabIndex = 0
        '
        'frmAX000000
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(7, 13)
        Me.ClientSize = New System.Drawing.Size(1012, 673)
        Me.Controls.Add(Me.fixMain)
        Me.Font = New System.Drawing.Font("MS ゴシック", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(128, Byte))
        Me.KeyPreview = True
        Me.Name = "frmAX000000"
        Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
        Me.WindowState = System.Windows.Forms.FormWindowState.Maximized
        Me.ResumeLayout(False)


スキルアップ/キャリアアップ(JOB@IT)