2012-03-29 64 views
0

我无法在任何地方找到答案。我定义了一个表单控件集合的新实例,但是在运行时,集合是空的。它适用于窗体上的一个加载按钮,但不适用于其他窗体。代码是完全一样的,但一个是有效的,另一个不是。下面是相关代码:运行时为空的ControlCollection

Private Sub miFLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles miFLoad.Click 
    Dim FilePath As String = "C:\FList\FList.flt" 
    Dim LoadFile As New SaveandLoad.SaveAndLoad 
    Dim FileRead As New Simple3Des("MyPassword") 
    Dim FileString As String = FileRead.ReadFile(FilePath) 


    With LoadFile 
     .WhichList = dgFList 
     .FilePath = FilePath 
     .DecryptedString = FileRead.DecryptData(FileString) 
    End With 

    Call LoadFile.LoadFile() 
End Sub 

此负载按钮不加载

Private Sub miCLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles miCLoad.Click 
    Dim FilePath As String = "C:\FList\CList.clt" 
    Dim LoadFile As New SaveandLoad.SaveAndLoad 
    Dim FileRead As New Simple3Des("MyPassword") 
    Dim FileString As String = FileRead.ReadFile(FilePath) 


    With LoadFile 
     .WhichList = dgCourses 
     .FilePath = FilePath 
     .DecryptedString = FileRead.DecryptData(FileString) 
    End With 

    Call LoadFile.LoadFile() 
End Sub 

这一个。

Public Sub LoadFile() 

     Dim dgRow As DataGridViewRow 
     Dim dgCell As DataGridViewTextBoxCell 
     Dim Lines() As String = DecryptedString.Split(vbLf) 
     Dim LinesList As List(Of String) = Lines.ToList 
     LinesList.RemoveAt(Lines.Length - 1) 

     For Each Line As String In LinesList 
      Dim Fields() As String = Line.Split(",") 
      dgRow = New DataGridViewRow 
      For x = 0 To (WhichList.Columns.Count - 1) Step 1 
       dgCell = New DataGridViewTextBoxCell 
       dgCell.Value = Fields(x).ToString 
       dgRow.Cells.Add(dgCell) 
      Next 
      WhichList.Rows.Add(dgRow) 
     Next 

     Dim FormControls As New frmFacultyList.ControlCollection(frmFacultyList) 


     For Each DGV As DataGridView In FormControls 
      If WhichList.Name = DGV.Name Then 
       DGV = WhichList 
       DGV.Refresh() 
      End If 
     Next 

    End Sub 

这里是他们传递信息的地方。同样,FormControls变量在FLoad按钮点击时为空,但不为CLoad按钮点击。任何帮助,将不胜感激。

编辑:对不起,这里是相关的公共属性

Public Property WhichList As New DataGridView 
Public Property FilePath As String 
Public Property DecryptedString As String 
Public Property EncryptedString As String 

回答

0

打开我解决我自己的问题。保存功能没有正确写入文件,所以它没有正确地拉取信息。固定。

相关问题