Using Variables In Control Names
Oct 11, 2011I would like loop through control names at run time. Is it possible to do something like the following:
[Code]...
I would like loop through control names at run time. Is it possible to do something like the following:
[Code]...
Is there any way to get common control names like Save, Copy or Undo Redo in the user's windows language? (I saw this in some programs which weren't made for my windows language. Also the Yes No Massage Boxes will change...)
View 1 RepliesI am looping through a collection of items. Within that loop I need to set variables but they need to be a variable. I tried using lists but for some reason they don't get set properly. Heres what I have so far...
[Code]...
I have a series of labels to modify through a loop. here's an example of the code i need to modify
lbl1.forecolor = color.black
lbl2.forecolor = ...
I need to iterate the lbl number each time through the loop as the color value will change from label to label.Clueless on how to do so with a loop vs the "long" way of doing code for each separate label. I have 169 to modify each time I change input so I'd rather not unless I have to
how do I DIM a variable's name using previously declared string varialbes? I have been using PERL for processing data stored in text files but I now have a business need to use VB2008. I would like to do something like this:
dim name1 as string = "ABCD"
dim name2 as string = "123"
'here is the part that I don't know how to do - create a 3rd variable name concatenated from name1 and name2:
dim string.concat({name1,name2}), or maybe use a counter in a line like 'dim namex as string' with x being a counter value.
Essentially I want to dim variables using text strings extracted from a file. In PERL I have declared literals and arrays, such as 'my @$name1', which creates an array named with the contents of $name1. In VB2008 I am not sure how to make this work with the DIM statement.
I am trying to reduce the amount of code I have and make it more maintainable and flexible. (I.E Do it the right way). I have a bunch of (48) Form controls (text boxes) and when I click next on that form I save all their text values to some 48 global string variables. The names of these variables are the same as the Text Boxes but with "_saved" appended to them.
For any given operation instead of having a separate line for each control it's nice to just use a loop. I can easily write some code to operate on each Control (set visibility, enabled etc) by using Me.Controls and a For Each Loop. I can even make collections of fractional groups of the 48 controls. For example, If cntrl.name.startswith("sometext") collection.add or perform some other operation only on that subgroup etc.
I'd like to do something similar with my Saved Public String Variables. For example I would like to do the following loop somehow but don't know how to group Variables together and keep their name in a way where I can define that array or collection on 1 line or just a couple lines.
' But this next line only groups the values
Group_of_string_Variables = {Var1, Var2, Var3, Var4}
For Each Name_of_String_Variable In Group_of_string_variables
[Code].....
But I can not access the name of a variable or find a way to easily group in key/value 48 different ones without needing much more than 50 lines of code to make either a 2-dim array, a collection, or a hash.
I'm sure someone will tell me I should be doing it a completely different way. That would be ok as long as I don't have to change too much of my other code. I thought of making an object of some kind instead of a variable so I could access 2 object properties- name and value then I could group those objects in a collection as I have done before. But that seems like it would be many more lines of code and I'm not sure it would work.
We have this current VBA program to help us with AutoCAD via the use of a template excel sheet.The setup we have created works well; however occasionally we have two drawings per folder, which often results in, two templates excel sheets of the same name, one overwriting the other. how I can set the active drawing name in a variable that our program uses to check for, then if not present that it creates a copy of out template and then saves it as the active drawings file name which was set as the variable
This would allow our program to locate the associated excel sheet by name then save it by the unique drawing name and prevent existing excel files being overwritten if in the same folder.
;===CODE STARTS HERE===
Option Explicit
Private Objexcel As Excel.Application
Private ObjWorkbook As Workbook
[code]....
This is my first post here at Xtreme VB Talk. I just started programming 2 semesters ago. I am currently working on a program but I am having a little trouble with the length. I am trying to take the integer entered in a text box and using it inside the name of another object.
[Code]...
project i'm working on for school. Need to make a grade calculator thing but I'm trying to make my code more efficient.
This is what I have at the moment:
txtID.Text = ListBox1.SelectedIndex
txtFname.Text = namesarr(ListBox1.SelectedIndex, 0)
[code].....
I'm making an art program involving 8x8 squares on a grid, but there are 64x64 grid square PictureBoxes for each grid square. Meaning there are 4096 picturebox squares to be setup.
I'm having them names like pic0001, pic0002, pic0003, etc... but re-naming them individually would take me forever. Is there a way to mass re-name them at once?
In one program i'm making, I have a little problem.In this application I have 25 button, wich I must have enable or disable everytime.How can I sned a part of name of the button? For example, if I have one array with the values:[bt1, bt2, bt3, bt4, bt5....] witch is the name of each control.Is possible someting similar this? :
array(1).enabled=true
button & array(2).enabled=true
etc...
Let's say I have the following class structure (simplified from my real-world problem):
Public Class PC_People_Container
Private _people_list As New List(Of PL_Person)
Public Sub New()[code].....
If I were to serialize this, I'd get the default assigned node names in my XML. That means my root is named PC_People_Container and each person in the list is marked up as PL_Person. I know I can change the root node using <XmlRoot(ElementName :="PeopleContainer")>. The trouble is doing that for the subclasses. I can't use the <XmlRoot> tag on PL_Person class because there can't be two root elements, and IntelliSense throws a fit when I try to use the <XmlElement> tag on a class like I would on a property. Is it even possible to control what those subclasses are named when they're serialized as child nodes?
How do i edit the column header of the GridView control on a web form? I have added a Table to DataSource as:
Me.gvSearchBrandList.DataSource = ds.Tables(0)
in here "gvSearchBrandList" GridView control But the GridView control display the column headers of the Table in the database. But how do i edit those column name in the GridView?
How do you use a parameterized query to make the (last_name, first_Name) appear in the same combo box? I know how do drag them over from the DATA SOURCES menu, but I am trying to combine them. So instead of it being two separate combo boxes with both last_name and first_name), it want it to find the the names with first and last name in the same combo box.
View 2 RepliesI have a WinForms applciation, I wrote a function that returns a list of all the controls on the form. The function returns a list of control objects.My target is to fill up a combo box with a list of the control names so that once clicked I set focus to it.So what is the correct code for converting a List(Of Control) to an array of string.
View 2 RepliesFill Combobox with List of Control names
View 5 RepliesOkay, so the title was horrible. I know that. Here's what I'm trying to do:I have a lot of data that's coming from a database and being adding to a listbox. The data that's coming from the database is a unique ID, and a name. Is there any way I can make the item contain both the ID and name? I know I can append it, that's not what I'm looking to do. I need a way to be able to either get the ID, or get the name, while displaying them both.I have gotten as far as creating a class:
Class Item
Property ID as Integer
Property Name as String
[code]......
VB.Net's DataGridView supports naming columns, but I was wondering if it could somehow do the same for rows, so that we could use something like this:
With DataGridView1
.Rows.Add(4)
.Rows(0).Name = "Setting1"
[Code].....
Do you confirm that it's not possible and we must use numeric indexes to refer to row numbers?
I am coding an invoicing application. The user should be able to add a new line to the billing section of the invoice by selecting a product from a ComboBox, which subsequently fills out various other fields (price, description, etc) based on the selected product.
My problem is this: When the user adds a product, I would like the program to automatically generate a new line for the next product. It seems like the only way to accomplish this would be to create a new set of controls with an incremented name, i.e. Product1, Price1, Desc1 for the first product, Product2, Price2, Desc2 for the second product, etc. Is this possible, or am I going about it all wrong?
I'm making an art program involving 8x8 squares on a grid, but there are 64x64 grid square PictureBoxes for each grid square. Meaning there are 4096 picturebox squares to be setup.
I'm having them names like pic0001, pic0002, pic0003, etc... but re-naming them individually would take me forever.
Is there a way to mass re-name them at once?
I am using Visual Basic 2008 Pro. I am trying to figure out how to bind a set of column headings in a DataSet (or DataGridView) to a ListBox. I want to show the column headers in the listbox control (not the data), and allow users to select one or more items
View 4 RepliesI don't usually use VB but now I must for an assignment. I would like to know if it's possible to change the display name for an object on a listbox. For instance, if I add to it a user defined class, there's a way to provide it's display name, instead of converting it to string and then add it.
This is what I have
Dim format As String = FormatOutput(object)
Lista.Items.Add(format)
I would like to have the same output, but instead add the object.
Note: if such is not possible, then how can I associate the list box selection to the actual object? Doing it by index is painfull, because I'm using linked lists (ie., instead of arrays).
Note 2: python has a __str__ method which is called by default when the object is cast to string. Is there anything like it in VB?
I need to iterate through controls using dynamic construction of control names and it looks like this could be what I need, however I never used this before and it does not quite work. What am I doing wrong? GroupBox1 is what I am attempting
Dim x as Integer = 1 For Each ctrl As Control In CallByName(Me, "GroupBox" & CStr(x), CallType.Method).Controls The runtime error is "GroupBox1" not found on Form1 even though I can select Me.GroupBox1 from the dropdown list.
I am working on my first VB application and have run into a problem. I am trying to loop through some data and displaying them in labels. I am using a for-each loop but end up with different row with the same labelname. What I would like to do, is to assign a number to the labelname (mylabel1, mylabel2,...), but I canīt figure out how, and I cant find anything online that will work. Here are some of the code that I have made, where I could use a solution to my problem...
[Code]...
I've created a Custom Control, and I will be placing a large number of instances of that Custom Control on my xaml page. In working with that Custom Control in the VB Code Behind, how do I do the following?
How do I reference the name of the Custom Control (in my VB code) which was clicked with the MouseLeftButtonDown event? For example, if I have 10 instances of my Custom Control in xaml, each with a different x:name (say 1-10), when a particular instance is clicked, how can I see which one was clicked? I've tried a number of things including e.OriginalSource.Name (which returns the component within the control which was clicked and not the name of the instance of the control). My Custom Control consists of numerous parts and pieces (Rectangles, Lines, Text, etc). Each of these items is a part of my layer. In VB code, once I can reference a particular Control, how can I hide or change certain parts of that control (such as hiding a Line, and changing the text). Also, I need to modify more than just the control which was clicked, so I need to be able to access properties of all of the controls, not just what was clicked. For example, if I click Control instance Test1, I also need to modify Test2, Test3, and Test5 in some way.
Here is some test code I through together as part of a Silverlight project using MS Blend 2. My control is much larger, and I need 200 - 250 instances/copies of that custom control, so I really need to know which control instance/copy was clicked.
My UserControl:
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
[Code].....
Im trying to use get variables in my webbrowser control. However its replacing all of the &'s with '' aka nothing.
This happens when i use wb.Navigate(lbsrc.Items(0)) and when i use wb.Url = New System.Uri("lbsrc.Items(0)")
(lbsrc.items(0)) = www.xxxxxx.xxx/index.php?asd=asd&asd=asd
[URL]
Thats the only thing i can find relating to this problem
I am using a Microsoft Chart control (system.windows.forms.datavisualization.charting.chart) in a Windows forms application, vb.net 2008. I use folder paths for the x values in a pie chart. Chart control converts a name like c:ewfolder into c:[newline]ewfolder. I tried adding a slash, making it c:\newfolder, but this only changes it to c:[newline]ewfolder. Is there a workaround for this behavior?
some code:
Chart1.Titles.Clear() : Chart1.Titles.Add("Largest Folders in " & txPath.Text)
Chart1.Series(0).ChartType = DataVisualization.Charting.SeriesChartType.Pie
Chart1.Series(0)("PieLabelStyle") = "Inside"
Chart1.Series(0).YValueType = DataVisualization.Charting.ChartValueType.Double
Chart1.Series(0).XValueType = DataVisualization.Charting.ChartValueType.String
[Code]...
In the windows form designer, I added a StatusStrip control, made some changes to adding items and changed the names of the items to names I would recognize, for instance I changed "ToolStripStatusLabel3" to "lblMode". All was fine until I inadvertenly deleted the StatusStrip. Now when I add it back to the form and try to change the name I get an error saying that the name "lblMode" is already in use. And sure enough it is listed in the items of the properties window, but not dislayed anywhere.
I am not sure how to resolve this. I know there is a window, I think its called "Project Designer" or something similar that is code where controls get added but I CANNOT find this window to view the code.
I am trying some Uiculture change functionality. In that I need the name and text of controls in a form to change the culture. I got some Demo project and it is in C#. I tried to make the same functionality with the C#.net and Also using VB.net. But the below mentioned code returns control name with an underscore as prefix. But I don't want underscore. Code is actually written in Class library. It works perfectly in C#.
Code is written below
Dim fields As FieldInfo() = form.[GetType]().GetFields(BindingFlags.Instance Or BindingFlags.DeclaredOnly Or BindingFlags.NonPublic)
Apparently, an unbound datagridview control cannot be filled at design time, so I have to create rows + fill cells through code. Currently, I use the following type of code to refer to cells:
[Code]...