2017-05-28 6 views
0

今日、私はいくつかのDataGridViewコレクションに100列程度のオプションを追加したかったのです。私は手作業でフォームのDesigner.vbファイルを編集してオプションをコピーして貼り付けることができたと思ったが、オプションがカラムの名前を含んでいたので簡単な作業ではないことをすぐに認識した。with/End Withを使用するdesigner.vbのコードを変更することはできますか?

With/End Withと一緒に使用するコードを変更することを選択しましたが、その後にDesignerでエラーが発生しました。「変数 'VB $ t_ref $ L0'は宣言されていません私はいくつかの研究を行い、この変数は私のVBコードで見つけられるものではなく、実際にコンパイルされたバージョンであることを学びました。

ここにあります前のコード:

Me.DataMatchesHomePlayerID.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells 
Me.DataMatchesHomePlayerID.HeaderText = "Home Player ID" 
Me.DataMatchesHomePlayerID.Name = "DataMatchesHomePlayerID" 
Me.DataMatchesHomePlayerID.Width = 144 

ここでは、コードの後だ:これは動作しませんでした理由を私は理解していない何

With Me.DataMatchesHomePlayerID 
    .AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells 
    .HeaderText = "Home Player ID" 
    .Name = "DataMatchesHomePlayerID" 
    .Width = 144 
End With 

です。 With/End WithをDesigner.vbで使用することはできませんか?助けがあれば、私が追加した行が最初の行(.AutoSizeMode)でした。

この問題を解決するための追加情報が必要な場合はお知らせください。私は、Designer.vbのすべてのコードをWith/End Withと一緒に使用するように変換するのをやめてもよいかどうかを知る必要があります。

ありがとうございます!

+2

ファイルの先頭近くにあるコメントを書き留めておきます。「コードエディタを使用して変更しないでください。」あなたが何をしても、IDEは変更を加えるとファイルを書き換えます。 – Plutonix

+0

@Plutonixオンポイント。デザイナーコードには、プログラミングコードを書くための独自の構文があります。アプリケーションの設定ファイルを作成して読んでいるように、コンテンツを作成して読み込んでいます。 designer.vbは編集できますが、デザイナーと同じ構文を使用する必要があります。 – Luke

+0

さらに、Visual Studioのバグのためにdesigner.vbを編集する必要がある場合があります。例:ressourcesフォルダに保存しているPicturebox内の画像を使用し、ResourceのImageを削除すると、デザイナーは画像を削除しないため読み込めません。あなたのフォームを完全にクラッシュさせます。唯一の方法:デザイナーファイルに移動し、Ressources Imageへの参照の代わりにPicturebox.ImageをNothingに変更します。 (VS 2013 Ultimateで私に起こった) – Luke

答えて

0

私はPlutonixの助言に耳を傾け、With/End WithをDesigner.vbファイルから削除しました。

なぜこのような場合に興味深い洞察を提供してくれたルークにも名誉を!

関連する問題