2017-02-12 6 views
0

Visual Studio 2015のVisual Basicフォームアプリケーションでフォームに問題があります。変数を渡しているときにEditSeriesフォームを表示しようとしています。フォームの呼び出しでコンポーネントの初期化に失敗する - Visual Basic

Private Sub btnEditSeries_Click(sender As Object, e As EventArgs) Handles btnEditSeries.Click 
    Dim frm As EditSeries 
    frm = New EditSeries(SeriesID) 
    frm.SeriesID = SeriesID 
    frm.Show() 
End Sub 

私はデバッグモードでプログラムを実行すると、EditSeries]ボタンをクリックすると、無制御またはカスタマイズして空白のフォームを生成します。ここでは、コードです。私がコーディングを学ぶのを手助けしている人(20年間コーディングしている人)は、まるで困惑しています。彼はフォームの削除と再作成を提案し、Visual Studioでフォームを構成する3つのコアファイル間のブレークを疑った。私はそれをしましたが、その行動は持続しています。

私はインターネット上でこの問題の参照を見つけることができませんでした。実行時に空白のフォームのスクリーンショットと同様の外観のデザインビューを含めています。

How The Form Should Look

Blank Form At Run-time

私が最初に「のForm_Load」セクションで、SQLデータベースからデータを移入するためのコードを置くが、唯一のnull参照の例外を生成しています。コードをボタンに移動すると、空白のフォームが表示されます。

最終的な目標は、オールシリーズのフォーム(空白のフォームを含む写真の背景に表示される)の変数の値を、コードを編集用にデータベースから特定のシリーズのデータ​​を1つ取り出すことを可能にするEditSeriesフォームに渡すことです目的。

あなたの時間と援助に感謝します!

+0

空白のフォームがどのようなものかわかります。あなたが書いたコードは見えません。間違って飲み込まれた例外は、説明である傾向があります。キューの出力ウィンドウを見てください。 NullReferenceExceptionを無視したり、次に何かを行うだけではなく、常にコーディングのバグです。デザイン時に例外のために破棄されるフォームのデザインは別のものです。[すべてのファイルを表示]ボタンをクリックすると、Designer.vbファイルが開き、InitializeComponent()メソッドが表示されます。 –

+0

さて、コンパイルされないプロジェクトを実行しようとしないでください。あなたは通常そのことについての警告を受け取りますが、 "もう一度表示しない"チェックボックスをクリックするのは簡単ですし、もう一度それを見ることはありません。 [ツール]> [オプション]> [プロジェクトとソリューション]> [ビルドと実行]、[実行時、ビルドエラーまたはデプロイメントエラーが発生した場合]で[起動しない]を選択します。それ以上のものに最適な設定は「常に構築する」です。 –

答えて

0

ハンスのコメント「それはいつもコーディングのバグです」という正しい方向で私を指摘しました。私EditSeries.vbで

、次のコードがあった:

Public Sub New(seriesID As Integer) 
    Me.SeriesID = seriesID 
End Sub 

は私が配置場合EditSeries.vbファイルの問題ではわかりませんが、それは前のForm_Loadセクションに位置していました。このサブルーチンを削除すると、フォームは期待どおりにロードされました。

正しい方向に私を指してくれたHans Passantに感謝します!

関連する問題