重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
自己在窗体上加一个按钮,以下是详细代码(整个类)
专注于为中小企业提供成都网站设计、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业海口免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
Public Class Form1
Private N As Integer '用来记添加要加入textbox的个数
Private PL As Integer = 10 'textbox相对于窗体的Left
Private PT As Integer = 10 'textbox相对于窗体的Top
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.AutoScroll = True '窗体自动显示滚动条
N = 10 '初始化N为10
For i = 1 To N
Dim newtextbox As New TextBox
newtextbox.Left = PL
newtextbox.Top = PT
Me.Controls.Add(newtextbox)
PT += newtextbox.Height + 10 '各 newtextbox上下间隔10-------PL不变是希望左对齐
Next
End Sub
End Class
1,添加一个模块,在模块里声明一个全局公共变量N;
2,在控件的调用窗体代码段里,把此控件名称给这个全局公共变量N赋值;
3,在窗体的Load()事件里,写代码: Me.Text = N。
首先,你已经完成的步骤是:
1.新建一个用户控件[注意,用户控件(UserControl)不是自定义控件(CustomControl)]
2.给用户控件起个名字(我在此处起名叫 RadioList)
3.在用户控件上画一个 GroupBox,命名为 RadioGroup,
并将其 Dock 属性设置为 Fill
然后,你需要做的是动态增减控件。
如果你以前用过 VB 6,你可能会想到控件数组,
但在此处,你可以直接增删控件。
具体实现如下:
4.在 GroupBox 里画一个 FlowLayoutPanel,命名为 RadioPanel,
将其 AutoScroll 属性设置为 True,即自动显示滚动条,
并设置其 FlowDirection 属性(例如设置为 TopDown)
这样就省去了手动调整 RadioButton 位置的麻烦
5.实现选项的动态增减(以下只是我的思路,你可以发挥一下)
(十分简洁,注释除外):
''' summary
''' 创建一个新的 RadioButton。
''' /summary
Private Function CreateRadio() As RadioButton
Dim NewRadio As New RadioButton
components.Add(NewRadio)
'components 字段由控件设计器自动创建,
'此代码目的是使控件在销毁(Dispose)时能自动销毁 RadioButton
'详情参见 RadioList.Designer.vb
NewRadio.Parent = RadioPanel
'设置容器
AddHandler NewRadio.CheckedChanged, AddressOf RadioButtons_CheckedChanged
'设置事件处理程序
Return NewRadio
End Function
''' summary
''' 移除已存在的 RadioButton。
''' /summary
Private Sub RemoveRadio(ByVal dest As RadioButton)
components.Remove(dest)
dest.Dispose()
End Sub
'无中生有的 RadioButton 的事件处理程序
Private Sub RadioButtons_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
'在此处设置选中项的属性,通过 sender 来确定不同的 OptionButton
'你可以通过将 OptionButton 放在一个列表,
'如 List(Of OptionButton) 中来像数组一样维护选项的次序
'注意,此处需要判断 sender 的 Checked 属性是否为 True
'因为 Changed 是“改变”,而不是“选中”
'例如:
If DirectCast(sender, RadioButton).Checked Then
SelectedIndex = ...
End If
End Sub
MyString(int size,const char cstr)
{
m_pChars=new char[size+1];
memset(m_pChars,'\0',size+1);
memset(m_pChars,cstr,size);
}