VB2010 textbox数组change事件 linklabel下划线隐藏

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB2010 textbox数组change事件 linklabel下划线隐藏相关的知识,希望对你有一定的参考价值。

以前用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>问题,谢谢

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
。。。。。。。
参考技术A LinkLabel2你定义为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

vb.net 点击按钮选中listview最后一行

我用vb.net写的一款超市管理软件,现在遇到一个问题。。。就是textbox里填写代码,在listview 中加载完数据以后聚焦focus是回到textbox的。我想在textbox的key-down事件中加入+好按钮选中listview最后一行的代码上犯难了。。。别人的代码如图所示,即使在textbox中聚焦,也可以选中listview的最后一行还能用加减号来添加删除数量。添加删除数量的代码我写好了 但是前提是 不动用鼠标单机选择listview一行的情况下,如何选择listview最后一行的数据呢。。。。先给30分,答得满意我在补充20分。求高手

参考技术A Me.ListView1.Items(Me.ListView1.Items.Count - 1).Selected = True
Me.ListView1.EnsureVisible(Me.ListView1.Items.Count - 1)

追问

现在可以选择每次输入的一行了,大神在告诉我下 我要是想在textbox中用加减号管理所选行的某个列的数值该怎么做?我在listview1_keydown属性中编写的按加减号改变数量的代码怎么运用到textbox中?这个问题在帮我 我立马100分

本回答被提问者和网友采纳

以上是关于VB2010 textbox数组change事件 linklabel下划线隐藏的主要内容,如果未能解决你的问题,请参考以下文章

VB中textbox用回车触发事件后文本框为啥会转到下一行

VB 动态添加textbox控件,让添加出来的控件触发Change

VB中TextBox控件的Maxlength属性的疑问

VB keypress事件中键盘上每个键的KeyAscii值分别是啥?

关于 AutoCompleteCustomSource 的问题(VB.NET)

vb.net在textbox1中输入六个数字后,自动将格式转换为时间格式,如输入120314自动变成12:03:14,怎么操作