Setting Value and Text of ComboBox Using Property Panel - vb.net

I have a combobox in my VB.NET application that is populated using the "Items" property in the property panel. The "Items" property will say "(Collection)" and when selected show a button with "..." This button expands to a new window where you can populate the items in the combobox. The text editor allows me to populate the list and looks like this:
Option 1
Option 2
Option etc...
The combobox populates properly, but when calling the SelectedText value of the combobox:
If ComboBox.SelectedText = "Option 1"
ComboBox.SelectedText is always an empty string (="")
I know I can populate the box in code and set the text and value members through code, but I am wondering why the selectedtext property is essentially blank when populated using the properties panel.

Related

VB - Reference Control via a string stored in My.Settings

I'm making an extremely simple app which has multiple screens (as Panels) that are hidden/shown clicking buttons on a left sidebar.
I have a PNLHome, PNLServerSettings, PNLScripts, and PNLSettings as the main panels.
Each of the Panels .Name properties are "PNLHome", "PNLServerSettings", ....etc.
I want to be able to change the "Start Up Screen" based on the selection you make in a ComboBox in PNLSettings, so when you launch the app, the Panel that is immediately showing is based on that ComboBox selection.
I have the ComboBox items in place and I have a function that hides all panels and shows the one you pass into it:
showPanel(PNLHome) for example which will essentially just show the Panel you give it, all this is working fine. This showPanel() is triggered upon clicking one of the main buttons on the left sidebar
What I want is to pass a Control.Name string into my showPanel() func, then I want to store this .Name string into My.Settings via a "Save/Apply" button in the Settings Panel which I can set up easily.
Since I will be passing the .Name String into my showPanel() function, I need to be able to reference the Panel I'm showing by it's name rather than the Object ID itself (I'm not sure if it's called an ID but it's the 'name' declaring the Panel via a "DIM WithEvents PNLHome As Panel" declaration.
To summarize the question; Can I reference the PNLHome by its .Name Property?
Otherwise can I store the ID of PNLHome directly in My.Settings instead? I could easily pass My.Settings.StartPanel into my showPanel() func.
Just use the Controls collection to find the control.
Private Function GetPanel(PanelName As String) As Panel
Dim SomePanel As Panel = CType(Controls(PanelName), Panel)
Return SomePanel
End Function

Comparing two list boxes Vb.net

Listbox 1 contains names of hairdressers and Listbox 2 contains services provided by all of them then in Listbox 3 both the selected hairdresser(only 1 allowed) and and selected services are contained. There is a remove button which removes items from Listbox 3. I want a code for the button that if a hairdresser is removed all services also get removed otherwise only services are removed.
For Each str As String In Hairdresser.lstHairdresser.Items
If Not lstHairdresserAndServices.Items.Contains(str) Then
lstHairdresserAndServices.Items.Clear()
Else
'more code here but above statement never gets true
End If
Next
If the hairdresser is always the first item in the 3rd listbox, all you have to do is check if the selectedindex equals 0. If so, clear the listbox. Otherwise just remove the selected item.
Alternatively, you could search the the 1st listbox for the selected string. If found clear the listbox otherwise remove the selected item.
It is also possible to mark the listbox items when you add then to the listbox. Set the tag property to something like "hairdresser" or "service" and when the remove button is clicked all you have to do is check the tag property.
Finally I would recommend a different approach: Instead of adding the items to the listbox, fill a data structure with the hairdresser's name and services, display this structure in the listbox and when the remove button is clicked compare the selected item to the structure to find out what was selected.

How to Make combobox first item style as selected so that typing will overwrite that item

What i wanted is after binding combobox, the first item ( first item will be always header like 'Select Item') need to be in selected style, means the blue back color and typing will overwrite that item (autocomplete starts then).
dropdownstyle is dropdown so that user can type inside combobox.
Wanted like this
When the combobox gets focus the text will be selected automatically.
If you want the combobox to get focus right after the binding you can use
ComboBox1.DataSource = oDataSource
ComboBox1.Focus()
There are two methods :
comboBox1.Focus();
or
comboBox1.select(0, comboBox1.text.Length);

windows 8 editable combobox

In windows 8 xaml I wanted to add a editable combobox
for example : I want the following items to be in the combobox : item1, item2 and
When user clicks the combo becomes and the user can enter the text in place
Is this possible?
I have explored isReadOnly isEditable properites but they seem to be readonly properties
When user click in ComboBox You can handle click event and replace ComboBox with TextBox.
Or check this property: ComboBox.IsEditable Property

setting textbox text equal to textbox text on a different form?

is it possible in design mode to set the textbox text property to the text property of a textbox in a different form in vb.net?
You could use the ApplicationSettings.PropertyBinding property of the text box to accomplish what you want. If you sort the text box properties A-Z, it should be the first one in the list in parenthesis. Just create a shared application value and it will apply to each control that binds to the value.