VB2010 textbox数组change事件 linklabel下划线隐藏
以前用VB6,很容易创建数组控件,并且数组控件change事件也容易实现现转到VB2010各种不习惯,首先我创建了动态数组textbox1(30),textbox2(30...
以前用VB6,很容易创建数组控件,并且数组控件change事件也容易实现
现转到VB2010各种不习惯,首先我创建了动态数组textbox1(30),textbox2(30)和linklabel1(30),求以下简单实例代码
<1>.textbox1(i)数组控件textchange事件,以实现textbox2(i)=textbox1(i)*10
<2>.linklabel1(30)数组控件click事件,以实现textbox2(i)=i10
<3>.另外我发现如果是我手绘的linklabel控件用如下代码即可实现隐藏下划线
linkLabel1.LinkBehavior=LinkBehavior.NeverUnderline
但是我用动态数组添加linklabel2(30)后,却不能用该方法去掉下划线,
For i = 1 To 30 LinkLabel2(i).BackColor = Color.Black LinkLabel2(i).LinkBehavior = LinkBehavior.NeverUnderline
上一句代码没有问题,但是下面一句代码错误 “LinkBehavior”不是“System.Windows.Forms.Label”的成员。
--------------------------------------------以下是实例代码------------------
实例代码下载http://pan.baidu.com/s/1i37WUd3
谢谢
linklabel是我定义出错已解决,忽略第三个问题,关注<1><2>问题,谢谢 展开
现转到VB2010各种不习惯,首先我创建了动态数组textbox1(30),textbox2(30)和linklabel1(30),求以下简单实例代码
<1>.textbox1(i)数组控件textchange事件,以实现textbox2(i)=textbox1(i)*10
<2>.linklabel1(30)数组控件click事件,以实现textbox2(i)=i10
<3>.另外我发现如果是我手绘的linklabel控件用如下代码即可实现隐藏下划线
linkLabel1.LinkBehavior=LinkBehavior.NeverUnderline
但是我用动态数组添加linklabel2(30)后,却不能用该方法去掉下划线,
For i = 1 To 30 LinkLabel2(i).BackColor = Color.Black LinkLabel2(i).LinkBehavior = LinkBehavior.NeverUnderline
上一句代码没有问题,但是下面一句代码错误 “LinkBehavior”不是“System.Windows.Forms.Label”的成员。
--------------------------------------------以下是实例代码------------------
实例代码下载http://pan.baidu.com/s/1i37WUd3
谢谢
linklabel是我定义出错已解决,忽略第三个问题,关注<1><2>问题,谢谢 展开
2个回答
展开全部
Dim LinkLabel1() As Label '声明label类型数组变量
Dim textBox1(), textBox2() As TextBox
Private Sub TextBox1_Change(ByVal sender As Object, ByVal e As System.EventArgs)
Console.WriteLine(sender.tag())
End Sub
Private Sub LinkLabel1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Console.WriteLine(sender.tag())
End Sub
Sub add()
ReDim textBox1(30) '重新定义数组大小
ReDim textBox2(30) '重新定义数组大小
ReDim LinkLabel1(30) '重新定义数组大小
For i = 1 To 30
textBox1(i) = New TextBox
textBox2(i) = New TextBox
textBox1(i).Tag = i
AddHandler textBox1(i).TextChanged, AddressOf TextBox1_Change '在代码中绑定事件句柄,数组索引通过Tag来识别了。由于没vb6那种控件数组了。
textBox2(i).Tag = i
textBox1(i).Visible = True
textBox2(i).Visible = True
LinkLabel1(i) = New LinkLabel
LinkLabel1(i).Tag = i
AddHandler LinkLabel1(i).Click, AddressOf LinkLabel1_Click
LinkLabel1(i).Visible = True
Next
。。。。。。。
Dim textBox1(), textBox2() As TextBox
Private Sub TextBox1_Change(ByVal sender As Object, ByVal e As System.EventArgs)
Console.WriteLine(sender.tag())
End Sub
Private Sub LinkLabel1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Console.WriteLine(sender.tag())
End Sub
Sub add()
ReDim textBox1(30) '重新定义数组大小
ReDim textBox2(30) '重新定义数组大小
ReDim LinkLabel1(30) '重新定义数组大小
For i = 1 To 30
textBox1(i) = New TextBox
textBox2(i) = New TextBox
textBox1(i).Tag = i
AddHandler textBox1(i).TextChanged, AddressOf TextBox1_Change '在代码中绑定事件句柄,数组索引通过Tag来识别了。由于没vb6那种控件数组了。
textBox2(i).Tag = i
textBox1(i).Visible = True
textBox2(i).Visible = True
LinkLabel1(i) = New LinkLabel
LinkLabel1(i).Tag = i
AddHandler LinkLabel1(i).Click, AddressOf LinkLabel1_Click
LinkLabel1(i).Visible = True
Next
。。。。。。。
展开全部
LinkLabel2你定义为label了吧
label本身不是超链接,也没有超链接下划线,可以字体设置下划线,去掉字体的下划线好了。
label本身不是超链接,也没有超链接下划线,可以字体设置下划线,去掉字体的下划线好了。
追问
谢谢,在一开始就犯了一个低级错误,声明的时候就出错了,第一第二个问题呢
追答
AddHandler 绑定事件,就是szqaly答的方法,那个过程中的sender,就是发生事件的控件。在给控件赋值时,可以用tag赋予相同值或其他方式,以确立控件间的对应关系。
textbox1(i)数组控件textchange事件,以实现textbox2(i)=textbox1(i)*10
在addhandler绑定的textbox1数组的textchanged事件中,代码:
textbox2(val(sender.tag))=val(sender.text)*10
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询