问题
所以我有一个父表单,它使用子表单来包含要使用的各种设置。设置表单包含数据网格视图、文本框、列表视图等。父表单称为“MainForm”,设置一个称为“SQL_Settings”。每当从父表单中的子表单引用项目时,我都会得到不正确的结果。
例如:
Sql_settings.Datagridview.rows.count
返回值 1 但我可以实际看到其中肯定有不止一行。
另一个例子:
Sql_settings.Textbox1.text
即使其中有文本,也返回空白。
可能的原因?
在尝试了多线程和委托后,我开始遇到这个问题。我曾经使用过以下命令:
System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = False
但随后将其删除,决定改为正确执行。我在想这个命令可能“遗留”了一些东西?不过,我可能完全错了..
附加信息
Dim data_to_pass(2) As Object
data_to_pass(0) = SQL_Settings.DataGridView1(3, sql_on).Value
data_to_pass(1) = part_information
data_to_pass(2) = ListView8
Dim add_results_thread As New Threading.Thread(AddressOf add_results_to_list)
add_results_thread.IsBackground = True
add_results_thread.Priority = Threading.ThreadPriority.Highest
add_results_thread.Start(data_to_pass)
但是,这确实运行了多次。一旦线程完成,它就会被触发以运行另一个线程。也许这是导致问题的原因?