ComboBox / ListBox selected item - c#

is there a more simple way to get combobox (WinForms) selected items text?
string result = comboBox1.Items[comboBox1.Selectedindex];
And in WPF's ComboBox?

What about
string result = (string)comboBox1.SelectedItem
Is that more simple?

#Zenuka's method works but I think the following is somewhat "more correct" (avoiding casts when possible):
String result = comboBox1.SelectedItem.ToString();

nope, sorry. That's it.
Just for interest, what part of it to you thiink is not simple?

Regarding WPF combobox: I don't think there is a good general way of getting the text of the selected combobox item in WPF. The wpf combobox displays its items in a template, which can be anything (i.e. several labels nested inside a stackpanel, inside a button etc...). The template need not even display any text, it can for instance display an image or something completly different. That said, i don't think there is much need for accessing the text strings inside a selected item's UI in a combobox. That is just UI for the user, the program should interact with the selected object (not it's UI representation). There might be some exceptions to this, tho, but in that case, you will have to make a specific solution for the item template that you use, because there is no one-size-fits-all solution for this.

Related

WPF Google-style ComboBox - AutoSuggestion

I want to have a Input field where I can input a string. That string could be a new item for that field or I choose to select an existing item. So I do not want Auto-Completion, but Auto-Suggestion which allows me to add entries to the ItemsSource by typing them in.
Basically it is like a normal WPF Combobox with
IsEditable="True"
But how can I get the ComboBox to reduce the list of suggestions to the string I input?
I don't want the ComboBox to present all Items of ItemsSource for selection, but only the ones that contain the string I input.
Can I do it due just setting some ComboBox properties?
For this propose you can use open source solutions like WPF AutoComplete TextBox control or other Autocomplete solutions
For this, I use the DevExpress library. If the ComboBoxEdit is configured correctly, it will auto display a drop down list which is continuously filtered by what the user types. Make sure you set the Mode to Contains, so it matches on any part of what the user types. Users love it as they can quickly narrow down the list of items to select from.
For the record, I am not affiliated with DevExpress. I'm sure Telerik has an equally good control as well.

How to create combobox when selected item it adds this anywhere?

How to this for combobox?I have long stackpanel which first it has only combobox.And when i select anything from combobox it will be added as button or other thing like on the picture.And it can be closed
[EDIT] I need anything on WPF
This should do the job nicely in WPF; http://www.codeproject.com/KB/WPF/MultiComboBox.aspx
The combo box that ships with WPF does not support selecting multiple
items...
This article describes a WPF combo box that supports both. It also
describes a list box, which the combo box inherits from, that supports
binding to the SelectedItems
Alternatively: WPF: ComboBox with CheckBoxes as items (it will even update on the fly!)
Recently I’ve come across something weird… I needed a ComboBox that will allow the user to select multiple items.
The the solution coming to mind is using CheckBoxes. I have found several examples, but neither one displayed the selected items with pretty commas like this;
i m not sure what you are asking for but you can use this.
jquery tokenizing
what about this?
jQuery Chosen Plugin
http://davidwalsh.name/dw-content/jquery-chosen.php

C# ComboBox for IP addresses

I need a custom combo box that holds IP addresses. I have a custom control that holds an IP address(that actually is a panel with 4 textboxes). I already tried adding other controls to a normal combo box, such as a button and a textbox. I get no exceptions but I would expect to see the item in the drop-down list, instead i get a blank line for each item.
My first thoughts about this would be to extend the ComboBox control. What would you suggest?
A combo box is basically a textbox and a (usually) button-activated listbox combined for convenience. If it's not convenient you could implement your own dropdown functionality. Put a button next to your textboxes that display a listbox and when an item is selected from the listbox, put the values in the appropriate textboxes. In other words, don't try to extend the combo box, try to re-construct a similar control based on similar components.
It's not too difficult to override the ComboBox so I suppose you could create a custom ComboBox to show your own control that would be a container showing multiple of your IP Address controls.
Here's a blog article by JaredPar showing how to get started, just replace the m_form with your own custom container control.
You can hold the ip-addresses in a listbox, even in a combobox or what ever you want. Do not forget how your coding is, if you have an oop based tcp-socket program than no cross thread exception will be thrown. the codes shall be like ListBox.Items.Add(ipaddress) or ComboBox.Items.Add(ipaddress) ...
In controls you may hold only the ip-addresses, if you want to store the socket objects use Dictionary ... Your answer is not clear, so i've answered on possibly situations.

Help with listView and .SelectedItem in C#

Within my winform(C#) I have listView with two columns, which is used to display the results from searching an array, which is the basic details of an array entry(All data within the array is type string). I am able to add and remove items to the listview, but I would like to be able to gain the value of the row that has been clicked within the listview.
I am planning to use this to update the display full entry info, but I cannot gain the value of the selected item. I was reading elsewhere and saw people mentioning the .SelectedIndex property, but this property is not available to me when I am trying to code.
I could use two listboxes instead of a listview, but the listview is much neater. Also, I am a sofware design (high school) student, and have been learning C# for one and a half years. I am competent at programming, but I start to get lost when things start to get very complex.
Can anybody help?
The ListView.SelectedItems property works fine if the ListView is not in VirtualData mode.
you should use the SelectedItem property and Tag property
var item = (MyClass) listView1.SelectedItems[0].Tag;
tag property allow you to set any type for example MyClass
when you populate the ListView set the Tag property.
For ListView check SelectedItems
You could trap the SelectedIndexChanged event and in that you could do
ListView.SelectedListViewItemCollection listItems=
this.myListView.SelectedItems;
foreach ( ListViewItem item in listItems)
{
MessageBox.Show(item.SubItems[0].Text);
MessageBox.Show(item.SubItems[1].Text);
}
I have fixed the problem. After talking to a friend in my software class, he told me to use listView1.FocusedItem.Index, which works perfectly for my needs, as it gains the index of the selected item. Also, thank you to everyone for their input in trying to help me.

Simple question - no results (ListView Columns)

I'm trying to accomplish what should be a very simple task using the ListView Control. All I am trying to do is add two Items to a ListView Control. One Item goes under the "Title" Column and the other Item goes under the "Status" Column. I have seen many examples for the ListView Control and none of them cover this particular need.
I've read the MSDN documentation on the ListView Control and find it rather odd they don't mention this... Or maybe I've overlooked it?
In ListView parlance, these are not separate items. It sounds like you want to add one item, and then what ListView calls a subitem. Assuming that Title is your first column and Status your second, you want:
ListViewItem myItem = listView.Items.Add("My Item's Title");
myItem.SubItems.Add("My Item's Status");
If you are just getting started with a ListView, you can save yourself a lot of time, headaches and frustration by using ObjectListView -- an open source wrapper around .NET WinForms ListView.
It solves many problems that you are going to find while trying to use a ListView, as well as just making it much easier to use. Just one example: it automatically handles sorting rows by clicking on column headers.

Categories