以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  百思不得其解  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=139649)

--  作者:sky-18
--  发布时间:2019/8/18 14:14:00
--  百思不得其解
这里写了一段动态增加checkbox控件的代码,并对控件的text属性赋值。
但是,当通过变量对text属性赋值时,只能成功的对第一个控件赋值。而后面的控件均赋值不成功
而,不通过变量,直接用 “测试” 这样的常量赋值却能成功。
百思不得其解,,老师们指点一下。

Dim tag As WinForm.CheckBox
        For i As Integer = 0 To bqs.Length-1
            tag = e.Form.CreateControl(bqs(i), ControlTypeEnum.CheckBox)
            tag.Width = 70
            tag.Height = 22
            tag.Left = (i Mod 3)*75 + 5
            tag.Top= (i\\3)*27 + 5
            tag.Text = bqs(i)   ‘这里用变量赋值,只能成功的对第一个控件赋值。
            tag.Appearance = Appearance.Button 
            e.Form.Controls("fq2").Panel2.AddControl(tag)
        Next


图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20190818140702.png
图片点击可在新窗口打开查看


 Dim tag As WinForm.CheckBox
        For i As Integer = 0 To bqs.Length-1
            tag = e.Form.CreateControl(bqs(i), ControlTypeEnum.CheckBox)
            tag.Width = 70
            tag.Height = 22
            tag.Left = (i Mod 3)*75 + 5
            tag.Top= (i\\3)*27 + 5
            tag.Text = "测试"  \'换成用常量赋值就能成功了
            tag.Appearance = Appearance.Button 
            e.Form.Controls("fq2").Panel2.AddControl(tag)
        Next

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20190818140925.png
图片点击可在新窗口打开查看




--  作者:y2287958
--  发布时间:2019/8/18 14:21:00
--  
我这里测试正常,请上实例测试
--  作者:sky-18
--  发布时间:2019/8/18 14:24:00
--  
If FileSys.FileExists(ProjectPath & "标签.txt") Then
    Dim bq As String = FileSys.ReadAllText(ProjectPath & "标签.txt")
    bq = bq.Trim(vbcrlf)
    Dim bqs() As String
    bqs = bq.Split(Chr(13))
    If bqs.Length = 0 Then
        MessageBox.Show("标签文档里面没有标签信息!")
    Else
        Dim tag As WinForm.CheckBox
        For i As Integer = 0 To bqs.Length-1
            tag = e.Form.CreateControl(bqs(i), ControlTypeEnum.CheckBox)
            tag.Width = 70
            tag.Height = 22
            tag.Left = (i Mod 3)*75 + 5
            tag.Top= (i\\3)*27 + 5
            tag.Text = "测试"  \'换成这样就可以了
            tag.Appearance = Appearance.Button 
            e.Form.Controls("fq2").Panel2.AddControl(tag)
        Next
    End If
Else
    MessageBox.Show("请创建标签文档!")
End If


这是窗口 afterload事件的代码。莫非是我电脑的问题??

--  作者:sky-18
--  发布时间:2019/8/18 14:25:00
--  
我重启看看。
--  作者:sky-18
--  发布时间:2019/8/18 14:36:00
--  
解决了,,原来是我忘了去掉bqs(i)后面的Chr(10)字符
谢谢大家帮忙