VS 2008 Controls Vs User Controls
Dec 2, 2009How many controls can I have before I should start looking at user defind controls because of too many controls making my program go slow?
View 4 RepliesHow many controls can I have before I should start looking at user defind controls because of too many controls making my program go slow?
View 4 RepliesThere is newer code in a follow up post. I suggest using the code in the later post rather than the code in this one. You can still read this post though. When designing a user interface, one should be conscious of how many individual controls are required to implement the functionality. In some cases an initial design may begin with many buttons or textboxes (for example) but then further review of
the actual required functionality allows for a reduction in the number of unique controls.
But other times, there isn't a better way (which will still make sense to the user of the application) then to have a series of many repeated controls. So in the cases where one can be certain that the best UI implementation for an application will require the use of multiple copies of a given control, then it often becomes necessary to maintain some method of managing all of those controls at various points
throughout the application. Doing so typically requires that one build up some collection of controls which can then be accessed by index in order to work with any given control; but this can lead to a lot of clutter in the code file which handles these control's events. For instance there will be some kind of collection declaration, some recursive routine to find all of the controls of interest, and then any number of event handler methods with long lists of Handles clauses, or additional code loops to wire up the event handling for each control.
Purpose Since most of this functionality could be considered a requirement regardless of the type of control being managed, or its required functionality, it may make sense to wrap all of the control management functionality into a single class. And since our first requirement is a collection of controls, then a base collection class could be the perfect starting point for our control manager. There are a number of existing thread around this topic, with some recent (at the time of this writing) ones being:[URL]..In this, and related, threads I have posted examples of a simple TextBoxManager and ButtonManager control. But again, with so much similar functionality required regardless of the control being managed, it would be technically possible to create a generic ControlManager(Of T As Control) class which can manage any type of control.
[Code]...
So in summary, one can facilitate managing a large number of user interface controls by building a "control manager" class which both encapsulates the list of control instances, and deals with adding and removing defined event handlers for every control it manages. The generic control manager class itself can be inherited and extended into a more specific class on a per-application basis in order to provide more application-specific functionality. Reed Kimble - "When you do things right, people won't be sure you've done anything at all"
I am rather irritated at this. I have no clue why looping through controls on a form and in groupboxes leaves out 75% of the controls.
Here's the code I have:
Dim settings As String = ""
Dim gbControl As Control
Dim gbbox As Control
[Code]....
I want to have setting save all settings to an ini file, and not have to reprogram the saving routine when I add a group box or control. At random times, any number of controls can be disabled, checkboxes can be checked and unchecked, radiobuttons can be checked and unchecked. Regardless of the state of the control, I want the control to show up in the loop. But they don't. Only controls that are enabled and only checkboxes that are checked, every other control state is ignored. That's crap, and is definitely not what is needed by any programmer of any type. We're capable of determining if a control is enabled, hidden, checked, visible, and otherwise.
How do I get the controls to be included in the loop regardless of their state?
I have a form that I will be using to keep track of data for computers I build and will eventually link into a database for configuration management, but for right now I'm just trying to get the basic form layout done and functional. I need this for to be customized for each job I do, that means I can have multiple computers, PC card, peripheral equipment, etc. So with that said basically what I have done is created a user control for each separate item that I want to add (i.e. computer, PC card, etc) that has all the fields and functions I require. When I want to add another computer I just add a tab and place my "computer" user control on it, no big deal...
My issue is when I want to add my "PC card" user control to that "computer" user control. What I am trying to do is to add the first user control(PC Card Info) I created under a button called "Add New PC Card" (which is part of the "computer" user control.)and that part works! What I want to do is keep added as many "pc card"user controls as I need and basically keep appending them under the last control on the bottom of the page (which is the "pc card" user control, that is a groupbox with a few drop down boxes and text boxes in it.)with a little spacing between them. The biggest problem I am having is when I add the first "PC Card" user control, it works.. but when I try to add another one and search the current page for all user controls under a certain point or with a specific name, I don't get any results.
I think I'm on the right track with the following code but I am running into 2 things I can't do that are critical to my needs. 1: I need to define the text of the user control I just added so I can uniquely identify it, so If I need to remove it I can and will also play a role later( I thought if there was some way in code to make my control # a variable that may work) 2: I need to know what to look for since I have a count that represents how many of that particular control exist on my form, that way I can name them properly, this will also allow me a method to delete the user control if desired.
Dim pccard As New PC_Card
Dim x As Integer
Dim name As String
[Code].....
I am trying to cycle throught the lables on my form but it would appear that I am missing quite a few labels... I have a total of 69 lables on my form and I only get 5 hits on the msgbox.
Dim ctl As Control
For Each ctl In Me.Controls
If TypeOf ctl Is Label Then
[Code].....
I have some custom user controls in my .net winforms program that do not display correctly when the user has selected larger text size. This setting:
My controls look like this:
Instead of like this:
The bill to area and ship to area are both custom controls. I don't know if this is contributing to the problem but I do have code in each to scale the phone/fax areas to stretch nicely, like this code from the bill to control,
Private Sub panFaxPhone_Resize(sender As Object, e As System.EventArgs) Handles panFaxPhone.Resize
panFax.Width = (panFaxPhone.Width / 2) - 1
panPhone.Width = (panFaxPhone.Width / 2) - 1
panFax.Left = panFaxPhone.Width - panFax.Width
End Sub
How can I get my controls to size correctly while still respecting the users choice for larger text (I don't want to just set the AutoScaleMode to None)? After playing with this for a long time it seems to be a problem with anchors in the child controls. See this below image, the inner black box is the control with its border turned on, the text boxes (like name) are anchored left and right and should stretch to fill the control, but don't.
i have a windows from project and in that project i created a user control lets call itcustombutton1 now i can use that control quite easily either at design time or runtime by creating a new instance of it like
View 1 RepliesI wanted to know if anyone could tell me how to access the Click_event.I have a boarderles form with a panel control which has the Dock property set to fill and on the panel I have placed a Label also with the Dock property set to fill. I also have a timer running.How can I get code to execute in the Label1 click event.I've tried doing it by using the generic Click_event and also with two variations of the Click_event Handles parameters
'Alternativ 1:
Private Sub Form1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
[code].....
If I have the following ListView, how can I attach a SelectedIndexChanged event listener to the DropDownList so I can perform a command on the respective object? Imagine I have a list of new users and I want to add them to a usergroup by selecting the group from the DropDownList.
<asp:ListView ID="NewUsers" runat="server" DataSourceID="NewUsersSDS" DataKeyNames="ID">
<LayoutTemplate>
[Code].....
I have a maximized form that has controls at the top of it and a large DataGridView that is docked below all the controls. Its kind of like the Ribbon in MS Office. The controls cover about 1/4 of the screen at the top. I would like a way for the user to click a button to hide all the controls then automatically expand into the place the controls were so the user can view more data in the DataGridView and visa versa. For example, in MS Office Excel you can hide the ribbon by clicking a tiny button that has "^" on it.
I'm not very familiar with all the controls in Visual Studio so I would like to hear some recommendations. Is this situation ideal for a SplitContainer or ToolStripContainer or am I way off base here?
I've got a couple of these NumericUpDown controls I put on a form. Without describing too much about the form I basically want to update some variables each time one of these NumUD controls changes value. So for each NumUD I have a call to a Recalculate subroutine within their "changedValue" event.
There are actually two problems. First, if I initialize the "Value" property to something other than zero in VB2010 at DESIGN TIME it won't even open the form when I hit RUN. It gives me a "No Source Available. No symbols loaded for any call stack frame" error. The error box says "InvalidOperationException" was not handled. So if I try to set the initial value of the Value property to anything but zero of either I get this error.
[Code]...
How do I overlay a control that is transparent over another one without showing the picture behind it? I want to put an image in a picturebox and the draw several controls over it that are invisible. To make a interactive adventure game
View 11 RepliesI've been building controls for many years professionally and personally, but even back in VB6 days I just could not work this out. After all this time I remembered about it again.If I create a usercontrol/containercontrol and add one or more controls to the controls surface, I just cannot figure out how to access the controls at design time.
View 4 RepliesI want to draw a rectangle over some controls so that the controls are partly obscured.
View 2 RepliesI have a query about dynamically added controls to a form. I have a series of buttons which are created and added at run time. I have a two drop down lists and two buttons which are created at design time. Button 1 creates a series of buttons called "Test 1.x" based upon the selection of the two drop down lists. This works fine and am happy with the logic.However.... Button two should remove all the dynamically created buttons from the form.This does not happen. What does happen is that 50% of the buttons are removed starting with the first one. WHen checking the loop it only enters the loop half the amount of times that there are buttons. Very strange. When the loop is run repeatability it will remove all controls. Why will my logic not remove all the dynamically created controls at once? What is wrong with my logic?
I attach two code snippets and the .net file for your consideration.Button method which creates the dynamically created buttons from the two drop down lists and adds to form
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Count As Integer
Dim MaxHours As Integer
[code]....
i have created control array , now i wann to loop around as well wann to find which control has triggered the respective event my code :
[Code]...
The object browser in visual studio contains many controls and properties ....so is it possible to remember in mind all these controls. Whenever i am programming in vb 2008 and for reference i look at the examples on internet i always find some new controls,properties etc which makes me confuse.So i was wondering If by any means there is a way to remember all these controls
View 4 RepliesI have aspx form with several textboxes.They are populated with values from a table via retrieval of a dataview.If the row count for the dataview is 0, then I'd like to reset the values in all textboxes. How can I loop through all the textboxes and set a default value?I've tried the following, but no sucess.
For Each ctrl As Control In Page.Form.Controls
If TypeOf ctrl Is WebControls.TextBox Then
CType(ctrl, WebControls.TextBox).Text = ""
End If
Next
My first For Loop was using Page.Controls but it returned only 1 count.The textboxes are inside a tabpanel (ajax), so do I have to locate the tabpage and then find all it's controls (for each tabpage)?
How can I add controls to a form in code and set the properties of the controls using the With statement?Also I would like to know how to add a container control and then add a control to that container.
View 2 RepliesI have a slight problem With an enumaration of child controls on a form. The following code will not get but about have the controls that are on the form. The controls show that the count is correct but when it goes through the loop it skips over some of the controls. If you run it through the enumeration two or three times it will get all the controls a few at a time. The solution uses two forms, one that has the controls and the other that labels are made and displayed on. The Tx is just a index to add a number to the label.name and rename the label. So each label is identified seperately. This works for all the the controls that are seen in the for each loop.
View 11 RepliesI created a class that can take either usercontrol.controls or form.controls as a parameter,how can i pass either to that class? as a property or how?
View 4 RepliesWe are binding most of our text boxes and dropdown boxes to a BINDING NAVIGATOR (with a DATA SOURCE of a DATA TABLE).When the BN is clicked through the text boxes all change immediately.We need to use some non-bound controls as well.First one is 4 radio buttons that when clicked will change a single value in a DATA TABLE.What would be the best method to do this? Should I track when the CURRENTCHANGED event occurs on the BINDING NAVIGATOR.I'm thinking that I could trick this by BINDING the SINGLE FIELD to a HIDDEN TEXTBOX and when that textbox CHANGED event occurs mess with the radio buttons and visa-versa.
View 5 RepliesWhen I add my user control to a flowlayoutpanel its going left to right even though the flowdirection is set to TopDown
View 3 RepliesI know this is probably a simple question but, I have a ASP.NET WebSite not WebApplication and I'm trying to get all of my Web User Controls under the same namespace so that I can register them once inside the web.config file and be done with it. My Question is, How do I do this (put them all under the same namespace and make it the default namespace for that folder)?
View 1 RepliesI am programmatically adding some custom user controls to a PlaceHolder which I have on a simple aspx page. All of the user controls Postback's work correctly except for one which has a Gridview on it.
For some reason any postback that gets fired from within this control, does not call the specified event on the first click, however all future clicks it will work fine. I have no idea why this is the case, but many solutions I have found, suggest adding an ID to the ascx User Control, however this doesn't work in my case.
I've taken a look at the source file for the page that gets generated before and after the first click, javascript used for calling the postback changes, i.e
Before first click: onclick="javascript:__doPostBack('tmpControlID$sgvPrimaryEmploymentHistory','Select$0')"
After first click:
[Code]....
Again, nothing overly complicated. The USERCONTROLNAME is just a const with the value "tmpControlID" in it.
The control that is giving me trouble is a little complicated, I was originally using a custom GridView control that we have created, but have removed it and replaced it with the standard asp one to see if the problem still occurs, and it does.
Any button, on control which fires off a postback will fail the first time, and all future click will work correctly. On the first click the Page_Load event will get called, but that is it.
I am looking for some information on how to properly implement data binding on a user created control. My UserControl contains a Textbox, a Button, and a MonthCalendar. I am able to databind to the Textbox inside of my user control, however, I want to implement the databinding on the UserControl itself, and not reference to textbox inside the control. I have attempted to set a Property as follows:
[Code].....
Ok so i have a program that when you click a button it creates a picturebox were ever you want it well how do i save all the pictureboxes created and load them back in on load?
View 1 RepliesIn the application I'm actually building, I'm dealing with two dynamically-added controls that need to interact with each other, but I've reduced the problem to an as-simple-as-I-can-make-it example with the controls being statically loaded, and it still presents the same problem: a NullReferenceException when invoking the delegate. Here's the gist:
Control 1
Partial Class Control1
Inherits System.Web.UI.UserContr
[code].....
I have created a User Defined Control that contains Add, Save, Edit, Search, Delete & Close Buttons. I added this User Defined Control in a New Form & How can I call Add, Save, EditSearch, Delete & Close Buttons of User Defined Controls from the New Form. What is the Code for calling a button of User Defined Controls from its Parent form?
View 2 RepliesI have a user control in which there are some controls. Now when I bind the usercontrol to db and show it in a panel (dock fill) it shows some odd behaviour like contols are painting one by one and this is looking odd.Can anyone please tell me how to fix these type of issues.
View 2 Replies