2012-03-29 28 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

打開我解決我自己的問題。保存功能沒有正確寫入文件,所以它沒有正確地拉取信息。固定。