473,809 Members | 2,791 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Adding controls at Runtime

I've got a Windows form that has a TabControl. I add TabPages to this
TabControl at Runtime, along with two Textboxes and a button. The problem
I'm having is I can't figure out how to reference the Textboxes elsewhere
once they have been created. The TextBoxes are being named based on a
private global counter (i.e. TextBox tb = new TextBox(); tb.Name = "tb" +
(counter++).ToS tring();) They are being created in a private method called
"AddTab". Anybody have any idea's?
Nov 17 '05 #1
4 1942
Hi slylos,

You can either add the TextBoxes to a list of your own or use the TabPage.Control s property to look for a Control with the right name.

On Sat, 16 Jul 2005 19:29:01 +0200, slylos <sl****@discuss ions.microsoft. com> wrote:
I've got a Windows form that has a TabControl. I add TabPages to this
TabControl at Runtime, along with two Textboxes and a button. The problem
I'm having is I can't figure out how to reference the Textboxes elsewhere
once they have been created. The TextBoxes are being named based on a
private global counter (i.e. TextBox tb = new TextBox(); tb.Name = "tb" +
(counter++).ToS tring();) They are being created in a private method called
"AddTab". Anybody have any idea's?


--
Happy coding!
Morten Wennevik [C# MVP]
Nov 17 '05 #2
That's what I can't figure out - how to create this "List". Also, using
TabPage.Control s property means I have to know the index of the textbox I'm
working with. Is there no way to keep track of these names, then use them at
runtime? i.e.

private void addcontrol()
{
Textbox t = new Textbox();
t.Name = "myBox";
tabPage1.Contro ls.Add(t);
}

private void SomeOtherMethod ()
{
myBox.Text = "Hey!!";
}

That's what I'm hoping for. If not, some way to achieve that . . .

"Morten Wennevik" wrote:
Hi slylos,

You can either add the TextBoxes to a list of your own or use the TabPage.Control s property to look for a Control with the right name.

On Sat, 16 Jul 2005 19:29:01 +0200, slylos <sl****@discuss ions.microsoft. com> wrote:
I've got a Windows form that has a TabControl. I add TabPages to this
TabControl at Runtime, along with two Textboxes and a button. The problem
I'm having is I can't figure out how to reference the Textboxes elsewhere
once they have been created. The TextBoxes are being named based on a
private global counter (i.e. TextBox tb = new TextBox(); tb.Name = "tb" +
(counter++).ToS tring();) They are being created in a private method called
"AddTab". Anybody have any idea's?


--
Happy coding!
Morten Wennevik [C# MVP]

Nov 17 '05 #3
Just create a TextBox[], or ArrayList, and put all your TabPage TextBoxes in it. Of course, you will need to know the proper index, or loop through this list or the TabPage.Control s collection and search for a specific name.

foreach(Control c in tabPage1.Contro ls)
{
if(c.Name == "myBox")
c.Text = "Hello World";
}

or using an ArrayList add your TextBoxes to this list.

foreach(TextBox tb in myArrayList)
{
if(tb.Name == "myBox")
tb.Text = "Hello World";
}

On Sun, 17 Jul 2005 00:07:02 +0200, slylos <sl****@discuss ions.microsoft. com> wrote:
That's what I can't figure out - how to create this "List". Also, using
TabPage.Control s property means I have to know the index of the textbox I'm
working with. Is there no way to keep track of these names, then use them at
runtime? i.e.

private void addcontrol()
{
Textbox t = new Textbox();
t.Name = "myBox";
tabPage1.Contro ls.Add(t);
}

private void SomeOtherMethod ()
{
myBox.Text = "Hey!!";
}

That's what I'm hoping for. If not, some way to achieve that . . .

"Morten Wennevik" wrote:
Hi slylos,

You can either add the TextBoxes to a list of your own or use the TabPage.Control s property to look for a Control with the right name.

On Sat, 16 Jul 2005 19:29:01 +0200, slylos <sl****@discuss ions.microsoft. com> wrote:
> I've got a Windows form that has a TabControl. I add TabPages to this
> TabControl at Runtime, along with two Textboxes and a button. The problem
> I'm having is I can't figure out how to reference the Textboxes elsewhere
> once they have been created. The TextBoxes are being named based on a
> private global counter (i.e. TextBox tb = new TextBox(); tb.Name = "tb" +
> (counter++).ToS tring();) They are being created in a private method called
> "AddTab". Anybody have any idea's?
>


--
Happy coding!
Morten Wennevik [C# MVP]


--
Happy coding!
Morten Wennevik [C# MVP]
Nov 17 '05 #4
That seems like a good solution, I will try that and post back on here.
Thanks for your help Morten!!

"Morten Wennevik" wrote:
Just create a TextBox[], or ArrayList, and put all your TabPage TextBoxes in it. Of course, you will need to know the proper index, or loop through this list or the TabPage.Control s collection and search for a specific name.

foreach(Control c in tabPage1.Contro ls)
{
if(c.Name == "myBox")
c.Text = "Hello World";
}

or using an ArrayList add your TextBoxes to this list.

foreach(TextBox tb in myArrayList)
{
if(tb.Name == "myBox")
tb.Text = "Hello World";
}

On Sun, 17 Jul 2005 00:07:02 +0200, slylos <sl****@discuss ions.microsoft. com> wrote:
That's what I can't figure out - how to create this "List". Also, using
TabPage.Control s property means I have to know the index of the textbox I'm
working with. Is there no way to keep track of these names, then use them at
runtime? i.e.

private void addcontrol()
{
Textbox t = new Textbox();
t.Name = "myBox";
tabPage1.Contro ls.Add(t);
}

private void SomeOtherMethod ()
{
myBox.Text = "Hey!!";
}

That's what I'm hoping for. If not, some way to achieve that . . .

"Morten Wennevik" wrote:
Hi slylos,

You can either add the TextBoxes to a list of your own or use the TabPage.Control s property to look for a Control with the right name.

On Sat, 16 Jul 2005 19:29:01 +0200, slylos <sl****@discuss ions.microsoft. com> wrote:

> I've got a Windows form that has a TabControl. I add TabPages to this
> TabControl at Runtime, along with two Textboxes and a button. The problem
> I'm having is I can't figure out how to reference the Textboxes elsewhere
> once they have been created. The TextBoxes are being named based on a
> private global counter (i.e. TextBox tb = new TextBox(); tb.Name = "tb" +
> (counter++).ToS tring();) They are being created in a private method called
> "AddTab". Anybody have any idea's?
>

--
Happy coding!
Morten Wennevik [C# MVP]


--
Happy coding!
Morten Wennevik [C# MVP]

Nov 17 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
3735
by: avivgur | last post by:
Hello, I am writing a program in Visual C# and I have encountered a problem. In my program I want to dynamically create a multitude of controls (thousands) on a form. The problem is that calling the Controls.Add() method several times or even calling the Controls.AddRange() method once can take a huge amount of time. Therefore, I would like to be able to run the loop that creates the controls on a different thread and meanwhile give the user...
8
4845
by: Thomas H. | last post by:
Hi folks, what's the best way to add (web)controls at runtime ?? TIA T.H.
2
1518
by: Mark Siffer | last post by:
I am trying to add a compare validator at runtime. I would add it before but my input controls are built at runtime via an editable datagrid. Therefore, the names of the controls are not known until the page has been rendered. Any ideas? Thanks in advance MS
0
2038
by: Kurt | last post by:
Hi Brent, I don't know if this is best practices per se`, but it works. The following generates a new button control each time menu item 1 is clicked and assigns an event handler to it. Each button uses the same default event handler. In this case, when a button is clicked I simply display
4
1977
by: rushikesh.joshi | last post by:
Hi All, I have created my own WebControl and want to add it in my aspx page at runtime. it's compiling perfectly, but when i m going to execute, it gives me error of "Object reference not set to an instance of an object." in my server control (ascx.cs file)
3
2094
by: Toe Dipper | last post by:
In short we have a lengthy process when a form is loaded that adds activex controls to our windows form. This process in itself works fine however we would like to push this processing to a thread but are stumped so far. Our goal is simply to allow the form to fully display while the controls are being added. Preferrably with a progressbar to let them know that the form is still being built. Here are some snippets.
0
1447
by: sonic | last post by:
I am trying to dynamically load a validator and must be missing something elementary here. I extended TextBox control to add some functionality to it. One new feature it contains is IsRequired property. if true, the control will render it self differently, and should add a RequiredFiledValidator control to the page. so in my controls render event, i am adding the following:
11
18156
by: Pete Kane | last post by:
Hi All, does anyone know how to add TabPages of ones own classes at design time ? ideally when adding a new TabControl it would contain tab pages of my own classes, I know you can achieve this with ListView columns so it should be doable, thanks
6
11092
by: | last post by:
I have made some user controls with custom properties. I can set those properties on instances of my user controls, and I have programmed my user control to do useful visual things in response to how those properties are set. I want to be able to do two other things: a) add User control instances to my page, filling in the place of placeholder controls, and b) programmatically setting custom properties on those dynamically spawned...
0
9601
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10635
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10376
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10378
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9198
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
6881
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5550
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5687
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
3
3013
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.