1

ベースカスタムフォームを作成してから、アプリケーションにベースフォーム内のプロパティとメソッドを継承させようとしています。フォームを正しく設定したと思いますが、VS 2010でベースフォームを継承した新しいフォームを開くたびに、VSがクラッシュし、IDEを再起動する必要があります。2つの形式のコードは次のとおりです。

基本カスタムフォーム。

namespace TGBSoftware
{
public partial class BaseForm : Form
{
    public int gnTaxYear { get; set; }
    public string gsTableName { get; set; }
    public string gsUserId { get; set; }

    public BaseForm()
    {
        InitializeComponent();
    }
}
}

基本フォームを継承するフォーム。

namespace TGBSoftware.CompuTax.Forms
{
public partial class RealEstate : BaseForm
{
    public RealEstate()
    {
        InitializeComponent();
    }
}
}
4

4 に答える 4

1

InitializeComponent(); 両方の形式で呼び出すことはできないと思います。トップフォームまたはを使用してのみお試しくださいbase.InitializeComponent();

于 2012-06-12T13:48:15.383 に答える
0

実行できることの1つは、ロギングを有効にしてVisualStudioを実行することです。

http://msdn.microsoft.com/en-us/library/ms241272.aspx

次に、エラーのスタックトレースを確認します。ほとんどの場合、dll参照が欠落しているか、次の形式で囲む必要のあるコードが1つあります:if(!DesignMode).. ..

于 2012-06-12T13:38:17.157 に答える
0

あなたは「私はフォームを正しく設定したと信じています」と言います。

なぜあなたはそれを再び再インストールしないのですか?

于 2012-06-12T13:39:36.080 に答える
0

みんなの助けに感謝しますが、クレイジーな解決策はプロジェクトを削除して新しいプロジェクトを開始することでした。セーフモードで開始し、ログを記録しても、実際には何の洞察も得られませんでした。

jrb-InitializeComponent()を使用する場合と使用しない場合の両方を試してみましたが、どちらも役に立ちませんでした。新しいプロジェクトでは、両方のフォームにこの設定があり、正常に機能します。ナビゲーションボタンなどを使用してフォームを作成するとどうなるかを確認します。

再度、感謝します。よい一週間を。

于 2012-06-13T13:35:39.750 に答える