[英]VB.NET Events not Firing
我收到了另一個開發商的項目。 長話短說,該程序從內部網絡上托管的SQL數據庫中提取了數千條條目。 該程序顯示條目,並允許您過濾它們以方便使用。
最近,我們遇到了一個問題,其中已清除了SQL數據庫中的表(通常每天都會重新生成,但是幾天都是空白。)發現並解決了該問題(對VB項目未做任何更改)以重新填充該表; 但是從那時起,VB項目將不再觸發事件。
該程序長數千行代碼,因此我無法發布整個內容。 但我會盡力使症狀:
這是應該觸發但不觸發的方法的示例:
`Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
MsgBox("GOT IT!")
End Sub`
這是Form_Load子:
<DllImport("user32.dll")> _
Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
End Function
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
InitializeComponent()
Try
DataGridView_Items.RowsDefaultCellStyle.SelectionBackColor = Color.Yellow
DataGridView_Items.RowsDefaultCellStyle.SelectionForeColor = Color.Black
CheckBox_Highlight.DataBindings.Add("Visible", RadioButton_BD, "Checked")
Try
'Populates the DGV
LoadTable()
TableLayoutPanel_BD_Parts.Visible = True
TableLayoutPanel_PF_Parts.Visible = False
'Exits if no data was pulled from the database
If dbDataSet.Rows.Count = 0 Or pfDataSet.Rows.Count = 0 Then Application.ExitThread()
Catch ex As Exception
Using w As StreamWriter = File.AppendText(logFile)
Log("Function Form1_Load says " & ex.Message & " @ " & DateTime.Now.ToString("yyyy-MM-dd") & "_" & DateTime.Now.ToString("HH-mm-ss"), w)
End Using
End Try
BackgroundWorker1.RunWorkerAsync()
formLoaded = True
Catch exx As Exception
MsgBox(exx.ToString())
End Try
End Sub
有一個背景工作人員,但它似乎可以正常工作並退出。
所有形式都可以交互; 但請勿觸發事件。 (我可以更改單選按鈕的選擇,單擊該按鈕,在文本框中鍵入文字,等等。)
我知道這有點含糊,我只是希望有人可以就可能導致我調查的問題提出建議。 我可以提供細節; 但我無法在此處復制整個代碼。
謝謝你的幫助!
代碼中非常奇怪的是,您從Form_Load
調用InitializeComponent()
。 通常,此方法在Form
構造函數中調用,因此您可以將其從Form_Load
刪除。
我在PC上進行了一些測試:如果您調用了兩次InitializeComponent()
您將復制表單中的每個控件,並且它們的事件不再觸發,可能是因為您有兩個具有相同名稱的控件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.