今天我想在几个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。
谢谢!
注意文件顶部附近的注释部分'......不要使用代码编辑器修改它.'无论您做什么,IDE都会在您进行更改时重写文件 – Plutonix
@Plutonix在点上。设计者代码具有编写您的编程代码的自己的语法。它正在创建和阅读其内容,就像您将为应用程序编写和读取配置文件一样。您可以编辑designer.vb,但必须使用与设计器相同的语法。 – Luke
另外:有些情况下,由于Visual Studio中的错误,您必须编辑designer.vb。例如:如果您在您的资源文件夹中存储的Picturebox中使用图像,然后删除该资源的图像,设计师将无法加载,因为它不会删除图像。它会完全崩溃你的表单。只有出路:转到设计器文件并将Picturebox.Image更改为Nothing,而不是对Ressources Image的引用。 (发生在VS 2013 Ultimate的我) – Luke