选项卡控件 - 向选项卡页面添加控件 [英] Tab Control - Add Controls to Tab Pages

查看:120
本文介绍了选项卡控件 - 向选项卡页面添加控件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

先生,

我用这个读者查看记录计数,



  while  QReaderQ.Read()
RecCount = RecCount + 1 ' 计算行数
结束 虽然





添加标签页等于记录



 TabControl1.TabPages.Clear()
对于 xXx = RecCount To 1 步骤 -1 ' to Desending Order ----> 3,2,1
newPage = TabPage ' 创建新实例
如果 xXx = 1 然后
newPage.Text = 重复 - 1
其他
newPage.Text = 重复 - & xXx.ToString
结束 如果
TabControl1.TabPages.Add(newPage)
下一步





现在我创建的Tab页数等于记录。

我需要在单独的标签页中创建文本框并将数据库字段数据插入到该文本框中。有什么办法呢?

解决方案

如果我理解正确,你想在每个标签页上放一个文本框吗?



如果是这样,那么只需声明一个新的文本框控件,设置它的属性(字体,大小,锚定,停靠等)并将其添加到标签页。



由于您要添加未知数量的标签页/文本框,我建议创建一个方法来创建新标签,添加文本框,设置任何属性,然后添加它。这样你就可以根据需要多次调用那个函数。



如果你想要添加到标签页的文本框有事件,你编写代码时,你还想在添加时添加事件处理程序。



这是我用来做类似事情的代码。但我使用的是richtextbox。我还有三个不同的事件,我正在与富文本框结合。我没有包含这些代码,但它们看起来像富文本框的任何其他textchanged,keydown,keypress事件。



  Dim  tpNew 作为  TabPage( strTabName)
tpNew.Controls.Add( New RichTextBox)
tpNew.Padding = New 填充( 3
tpNew.BackColor = Color.FromKnownColor(KnownColor.Control)
tpNew.ContextMenuStrip = mnuBuildYourOwn ' 我的标签页上有一个右键菜单

Dim rtxt As RichTextBox = CType (tpNew.Controls( 0 ),RichTextBox)' 将RichTextbox添加到ne w标签页
rtxt.Dock = DockStyle.Fill
rtxt.Font = gblFont
rtxt.BorderStyle = BorderStyle.FixedSingle
rtxt.ContextMenuStrip = mnuUserText 我的文本框上有一个右键菜单
rtxt.DetectUrls = 错误
rtxt.AcceptsTab = True

' 在再次添加之前删除处理程序以确保该事件仅运行一次
RemoveHandler rtxt.TextChanged, AddressOf richtextbox_TextChanged
RemoveHandler rtxt.KeyDown, AddressOf FieldName_KeyDown
RemoveHandler rtxt.KeyPress, AddressOf ManualSQL_KeyPress

' 将处理程序连接到正确的方法
AddHandler rtxt.TextChanged, AddressOf richtextbox_TextChanged
AddHandler rtxt.KeyDown, AddressOf FieldName_KeyDown
AddHandler rtxt.KeyPress, AddressOf ManualSQL_KeyPress

' 最后创建一个新标签页
tcBuildYourOwn.TabPages.Insert(tcBuildYourOwn.TabPages .Count - 1 ,tpNew)





希望这个帮助


Sir,
I used this reader to check Record Count,

While QReaderQ.Read()
RecCount = RecCount + 1 ' Count How many Rows
End While



Add Tab Pages Equal of Records

TabControl1.TabPages.Clear()
For xXx = RecCount To 1 Step -1 ' to Desending Order ---->3,2,1
newPage = New TabPage 'create new instance
If xXx = 1 Then
newPage.Text = "Repeat - 1"
Else
newPage.Text = "Repeat - " & xXx.ToString
End If
TabControl1.TabPages.Add(newPage)
Next



Now I Created Tab Pages to equal number of Records.
I Need to Create Text Boxes in separate Tab Page and insert Data Base Field Data to that Text Boxes. What is way to do that ?

解决方案

If I understand you correctly, you want one textbox on each tab page?

If so, then just declare a new textbox control, set it''s properties (font, size, anchoring, docking, etc) and add it to the tab page.

Since you are adding an unknown number of tab pages/textboxes, I suggest creating a method that creates the new tab, adds the textbox, sets any properties, and then adds it. That way you can call that one function as many times as you need.

If you are going to want the textboxes that you add to the tab pages to have events that you code for, you''ll also want to add event handlers when you''re adding it.

Here is a smaple of code I use to do something similar. But I use a richtextbox instead. I also have three different events that I''m tying to the richtextboxes. I didn''t include the code for those, but they would look like any other textchanged, keydown, keypress event for a richtextbox.

Dim tpNew As New TabPage(strTabName)
tpNew.Controls.Add(New RichTextBox)
tpNew.Padding = New Padding(3)
tpNew.BackColor = Color.FromKnownColor(KnownColor.Control)
tpNew.ContextMenuStrip = mnuBuildYourOwn 'I havea right click menu on my tab pages

Dim rtxt As RichTextBox = CType(tpNew.Controls(0), RichTextBox) 'Adds RichTextbox to new tab page
rtxt.Dock = DockStyle.Fill
rtxt.Font = gblFont
rtxt.BorderStyle = BorderStyle.FixedSingle
rtxt.ContextMenuStrip = mnuUserText 'I have a right click menu on my textboxes
rtxt.DetectUrls = False
rtxt.AcceptsTab = True

'Remove handlers before adding again to ensure that the event will only be run once
RemoveHandler rtxt.TextChanged, AddressOf richtextbox_TextChanged
RemoveHandler rtxt.KeyDown, AddressOf FieldName_KeyDown
RemoveHandler rtxt.KeyPress, AddressOf ManualSQL_KeyPress

'Connect handlers to the proper methods
AddHandler rtxt.TextChanged, AddressOf richtextbox_TextChanged
AddHandler rtxt.KeyDown, AddressOf FieldName_KeyDown
AddHandler rtxt.KeyPress, AddressOf ManualSQL_KeyPress

'Creating a new tab page at the end
tcBuildYourOwn.TabPages.Insert(tcBuildYourOwn.TabPages.Count - 1, tpNew)



Hope this helps.


这篇关于选项卡控件 - 向选项卡页面添加控件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆