【发布时间】:2015-06-09 02:02:23
【问题描述】:
很难解释我的想法,但我会尽力而为......
我有一个带有大量复选框的安装程序。每个复选框都是 mod(游戏的修改)。有时模组会干扰游戏并导致游戏崩溃。因此,我必须使用更新的 mod 更新安装程序,或者我必须暂时禁用导致崩溃的一个或多个 mod。
它将连接到一个服务器,检查文件是否包含“真或假”,如果它包含“真”,它将执行执行此操作的代码:
连接到不同的服务器,获取复选框的名称,然后执行以下操作:
NameOfCheckBox.Enabled = False
问题是……我知道怎么做,除了最后一部分。
如何告诉我的程序它从服务器获取的文本是位于表单上的复选框名称?
这是我的代码:
Try
Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("https://docs.google.com/document/d/1G3R0CoRG-LCXy-8jm-LcCJZJ9B0whsOJ64efjL0btc8/edit?usp=sharing")
Dim response As System.Net.HttpWebResponse = request.GetResponse()
Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())
Dim status As String = sr.ReadToEnd()
Dim request2 As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("https://docs.google.com/document/d/1cYkhGTDEpxqltOvCSSD0Kw9J_1DG1dyJSV2qQ1Xekto/edit?usp=sharing")
Dim response2 As System.Net.HttpWebResponse = request2.GetResponse()
Dim sr2 As System.IO.StreamReader = New System.IO.StreamReader(response2.GetResponseStream())
Dim checkboxtodisable As String = sr2.ReadToEnd()
If status.Contains("True") Then
Dim chk As CheckBox
chk.Name = checkboxtodisable
chk.Enabled = False
Else
End If
Catch ex As Exception
MessageBox.Show("Unable to connect to server!")
MessageBox.Show(ex.Message)
End Try
我得到的错误是:
Object reference not set to an instance of an object
错误位于这行代码:
chk.Name = checkboxtodisable
【问题讨论】:
-
尝试创建一个新的
CheckBox... 例如:Dim chk As New CheckBox如果这不起作用,请确保checkboxtodisable不是什么都不是... -
我没有收到任何错误...但是复选框没有被禁用。
-
当然,但那是你的问题(你的错误)。我知道它不会改变状态,但这不是错误。如果您想包含它,请使用相关信息更新您的帖子。
-
@436f6465786572 对于可能的愚蠢问题,我深表歉意。但是你是什么意思这是我的错误?我想要做的是通过将复选框名称放在服务器上来远程取消选中或禁用复选框。
-
我指的是您在上面的问题中发布的错误。我是说这是你的第一个问题,你的下一个问题是让你想要切换的控件是错误的。