Tag: listbox

Asp.net updatepanel Listbox没有刷新布局

所以我的问题很简单,我有2个列表框和一个按钮。 当在listbox2中选择一个项目并单击该按钮时,我想将所选项目添加到listbox1。 在我添加第二个项目之前,所有接缝都能正常工作。 然后listbox1不刷新它的项目…… public partial class Default2 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ListBox2.Items.Add(new ListItem(“1”, “1”)); ListBox2.Items.Add(new ListItem(“2”, “2”)); ListBox2.Items.Add(new ListItem(“3”, “3”)); ListBox2.Items.Add(new ListItem(“4”, “4”)); ListBox2.Items.Add(new ListItem(“5”, “5”)); } } protected void Button1_Click(object sender, EventArgs e) { if (ListBox2.SelectedIndex != -1) { ListBox1.Items.Add(ListBox2.SelectedItem); } } }

使用C#从ListBox中的选定项获取ValueMember

我正试图从带有C#的ListBox中获取所有选定的项目ValueMember。 例如: 我有一个这样的列表: ID | Name and Lastname ———————- 1 | John Something 2 | Peter Something2 3 | Mary Smith 这个结构是我的ListBox的一部分。 我用这段代码构建了这个列表框: private void fill_people_listBox() { this.listBoxPeople.DataSource = db.query(“SELECT ….”); this.listBoxPeople.DisplayMember = “people_name_last”; this.listBoxPeople.ValueMember = “people_id”; } ListBox已成功填充。 当用户想要保存更改时,我将遍历此列表以获取所有选定的项目,但我不需要该项目,我需要ID。 例: 1 | John Something. 忽略John Something,得1,所以我不需要DisplayMember,只需要ValueMember。 为此,我尝试了以下几种方法: 1º foreach (ListBox selectedItem in this.listBoxGarantes.SelectedItems) { […]

“SelectedIndexChanged”在ListBox中的“Items.Clear()”之后没有触发

对于ListBox(选择模式设置为One),我希望跟踪是否选择了所选项目。 为此,我向SelectedIndexChanged订阅了一个方法,并检查SelectedIndex是否为-1。 但是,我注意到在调用Items.Clear()之后事件不会触发,即使SelectedIndex更改为-1(如果它还不是-1)。 为什么不开火呢? 我知道我可以通过在清除列表之前为SelectedIndex分配-1来解决这个问题。 但有更好的方法吗? 这是一个复制它的简单代码: using System; using System.Windows.Forms; namespace ns { class Program { static ListBox lst = new ListBox(); public static void Main() { lst.SelectedIndexChanged += new EventHandler(lst_SelectedIndexChanged); lst.Items.Add(1); Console.WriteLine(“Setting selected index to 0…”); lst.SelectedIndex = 0; //event fire here Console.WriteLine(“(Selected Index == {0})”, lst.SelectedIndex); Console.WriteLine(“Clearing all items…”); lst.Items.Clear(); //event *should* […]

在列表框中插入列表

我是C#的新手,我正在尝试在C#中进行探索,但是我尝试在列表框中添加一个列表。 我遇到的错误是: Object reference not set to an instance of an object. 知道如何解决这个问题吗? namespace WindowsFormsApplication { public partial class Form1 : Form { something a = something iets(); public Form1() { InitializeComponent(); } // part1 class something { public List testing { get ; set; } } // part2 private void button1_Click(object sender, EventArgs e) […]

一般拖放ListBoxItems

我想使用MVVM模式在多个数据绑定的列表框上实现拖放。 我不是想在列表框之间拖放,而是希望用户能够在每个列表框中拖放listboxitems,以便他们可以重新排列排序顺序。 我在SO上发现这篇post非常有帮助: WPF C#:通过拖放重新排列列表框中的项目 我想尝试使这些方法更“通用”,以便它可以在任何绑定到不同类型的Observable Collections的列表框上工作。 所以说这是我在VIEW中的XAML: OC绑定的位置是ObservalbeCollection 和ObservalbeCollection 。 这是VIEW中抓取鼠标移动事件并检查它是否是拖动的方法: void ListBoxItem_PreviewMouseMoveEvent(object sender, MouseEventArgs e) { if (e.LeftButton == MouseButtonState.Pressed && sender is ListBoxItem) { ListBoxItem draggedItem = (ListBoxItem)sender; DragDrop.DoDragDrop(draggedItem, draggedItem.DataContext, DragDropEffects.Move); draggedItem.IsSelected = true; } } 这似乎是“通用的”。 接下来是方法,也是在VIEW中,处理drop,这就是我遇到的问题: void ListBoxItem_Drop(object sender, DragEventArgs e) { object Target = ((ListBoxItem)(sender)).DataContext; object Dropped = e.Data.GetData(Target.GetType()); […]

如何对齐添加为列表框项目的字符串?

我有一个列表框,我想在其中显示一个字符类的名称和高分列表。 我使用ListBox.Items.Add为每个字符添加以下字符串: public String stringHighscore() { return name + “\t\t\t” + score.ToString(); } 问题是,当名称超过一定长度时,分数会被推到右侧。 列表框看起来像这样(抱歉,我的代表不允许我发布图片): (链接到tinypic上的列表框图像) 我以为这可能是由于“\ t”,但我不确定。 我该如何解决这个问题并正确对齐分数? 如果我使用两个列表框,一个用于名称,一个用于分数,会更好吗?

在列表框中读取项目的值

我正在使用C#开发一个小型Windowsapp store应用程序,其中我使用以下代码片段填充了列表框的值和内容 。 代码1:使用Song 类创建项目 ,将歌曲标题作为项目添加到列表框中 private void addTitles(string title, int value) { Song songItem = new Song(); songItem.Text = title; songItem.Value = value; listbox1.Items.Add(songItem); // adds the ‘songItem’ as an Item to listbox } 代码2:用于为每个项目设置值的Song 类 (’songItem’) public class Song { public string Text { get; set; } public int Value { get; set; […]

如何在列表框中找到最大和最低值

我是c#的新人, 我用这些来找到最大和最低的价值。 int[] numbers = new[] { 1,2,3,4,5 }; int min = numbers.Min(); int max = numbers.Max(); 我希望通过类似的方式从列表框中找到最大值和最低值 int[] numbers = new[] { listbox1.items }; int min = numbers.Min(); int max = numbers.Max(); 如果有人能帮助我,我们将非常感激。 提前致谢。

将项绑定到ListBox多列

我正在尝试将我的数据添加到多个列ListBox中,我做到了但是我在尝试从列表框中检索数据时遇到了一个难题。 有没有办法将对象而不是文本放入listBox行? 这是代码 public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } public sealed class MyListBoxItem { public string Field1 { get; set; } public string Field2 { get; set; } public string Field3 { get; set; } } private void Window_Loaded(object sender, RoutedEventArgs e) { Students st = new Students(1, “name”,”anything”); […]

ListBox中的DataTextField是2个字段的组合

我有一个包含用户的列表框。 数据源是User(包含,id,firstname,lastname,…)类型的通用列表。 现在我想使用id作为datavalue(通过dataValueField),我希望LastName +”+ Firstname作为DataTextField。 谁能告诉我这是怎么回事? 我正在使用C#(ASP.NET)。