このコードをUserControlに配置し、フォームデザイナーがエラーをスローしていることを示しています。 VS IDEは、設計時にユーザーコントロールのインスタンスをロードして実行しています。
Protected
とPublic
アクセス修飾子をサポートするには、これらの3行のコードをクラスレベルに配置する必要があります。問題は、Dim Conn As New SqlConnection(configuracion.ConnectionString)
で使用される場合、configuracion
がnullであるように、デザイナーがConfigurationManager.ConnectionStrings("Conn")
を検索できないことです。
クラスレベルでDim var as New Something()
という構文を使用すると、コンパイラはそれをDim var as Something
に変換し、var = New Something()
をクラスコンストラクター(サブ新規)コードに置きます。
この問題を解決するには、デザインモードで実行中にエラーが発生するコードを防ぐ必要があります。すべてのコントロールには、この目的のためにDesignMode
というブール型プロパティがあります。 DesignMode
はコンストラクタコードで使用されていると有効ではないので、使用しようとすると失敗します。
Imports System.Configuration
Imports System.Data.SqlClient
Public Class Add_companies
Protected configuracion As ConnectionStringSettings
Private Conn As SqlConnection
Public Cmd As SqlCommand
Private Sub Add_companies_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If Not Me.DesignMode Then
configuracion = ConfigurationManager.ConnectionStrings("Conn")
Conn = New SqlConnection(configuracion.ConnectionString)
End If
End Sub
End Class
この変数 'Add_companies1'を使用した行を含むコードを投稿してください。あなたのエラーはおそらく、宣言されていないか、または割り当てられていない 'Add_companies1'を参照することによって起こります。 – FrozenFire
はい私はなぜそれが "Add_companies1"と私のUsercontrolの名前が "Add_companies"を参照しているのかわかりません この接続作業はすべてのフォームで完璧ですが、私はUserControl 私はパネルを使用して私は設計にエラーを与える。 –
どのステートメントでエラーが発生していますか? – Blackwood