通过从服务器获取其名称来禁用复选框

时间:2015-06-08 16:49:37

标签: vb.net checkbox server

要解释我的想法有点难,但我会尽我所能......

我有一个带有大量复选框的安装程序。每个复选框都是mod(对游戏进行修改)。有时mod会干扰游戏并导致游戏崩溃。因此,我必须使用更新的mod更新安装程序,或者我必须暂时禁用导致崩溃的mod或mod。

它将做什么是连接到一个服务器,它检查文件是否包含“true或false”,如果它包含“true”,它将执行执行此操作的代码:

连接到其他服务器,获取复选框的名称,并执行以下操作:

NameOfCheckBox.Enabled = False

事情是......我知道怎么做,除了最后一部分。

如何告诉我的程序从服务器获取的文本是位于表单上的复选框的名称?

这是我的代码:

var b= new myobj();
 b.constructor== myobj.prototype.constructor --> true
 b.constructor == myobj --> true
 myobj.prototype={};
 b.constructor == myobj  --> false
 b.constructor== Object --> true
 myobj.prototype.constructor== Object --> true

我得到的错误是:

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

1 个答案:

答案 0 :(得分:0)

您可以按名称检索控件:

Dim MyCheckBox As Checkbox = Me.Controls("checkbox1")

所以你的代码看起来像这样:

If status.Contains("True") Then
    Dim chk as checkbox = Me.Controls(checkboxtodisable)
    chk.Enabled = False
End If