2017-05-28 66 views
0

今天我想在幾個DataGridView集合中添加一個100列左右的選項。我想我可以手動編輯窗體的Designer.vb文件來複制和粘貼選項,但我很快意識到這不是一件容易的事情,因爲選項包含了列的名稱,所以它不是我可以只是粘貼進來。我可以更改designer.vb中的代碼以使用With/End With?

我選擇更改代碼以使用With/End With,但是這樣做後,我在設計器中遇到了一堆錯誤,表示「變量'VB $ t_ref $ L0'要麼未聲明或從來沒有分配(即從L0到L99)我做了一些研究,並得知這個變量不是我在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 

我不明白的是爲什麼這沒有奏效。我不應該在Designer.vb中使用With/End With嗎?如果它有幫助,我添加的行是第一個(.AutoSizeMode)。

讓我知道你是否需要額外的信息來幫助我解決這個問題。我真的只需要知道是否可以完成將Designer.vb中的所有代碼轉換爲使用With/End With。

謝謝!

+2

注意文件頂部附近的註釋部分'......不要使用代碼編輯器修改它.'無論您做什麼,IDE都會在您進行更改時重寫文件 – Plutonix

+0

@Plutonix在點上。設計者代碼具有編寫您的編程代碼的自己的語法。它正在創建和閱讀其內容,就像您將爲應用程序編寫和讀取配置文件一樣。您可以編輯designer.vb,但必須使用與設計器相同的語法。 – Luke

+0

另外:有些情況下,由於Visual Studio中的錯誤,您必須編輯designer.vb。例如:如果您在您的資源文件夾中存儲的Picturebox中使用圖像,然後刪除該資源的圖像,設計師將無法加載,因爲它不會刪除圖像。它會完全崩潰你的表單。只有出路:轉到設計器文件並將Picturebox.Image更改爲Nothing,而不是對Ressources Image的引用。 (發生在VS 2013 Ultimate的我) – Luke

回答

0

我注意到了Plutonix的建議,並從Designer.vb文件中刪除了With/End With's。

也爲盧克提供了一些有趣的見解,爲什麼這是事實!

相關問題