列表框选中文本框中的项目

时间:2013-02-12 06:08:54

标签: c# asp.net .net

我有两个列表框,两个文本框和按钮。当我按下按钮时,列表框1的项目被移动到列表框2但我想在文本字段中显示所选项目,那么我该怎么办?

txtbox.Text = listbox3.selecteditem.value;  

无效,我也试过

txtbox.Text = listbox3.selecteditem.tostring();

这是我的一段代码。对于asp .net来说,这是一个新鲜的新手

if (RadioButton1.Checked == true)
{
  a = ListBox3.SelectedValue.ToString();
  b = ListBox3.SelectedIndex;
  ListBox4.Items.Add(a);
  ListBox3.Items.RemoveAt(ListBox3.Items.IndexOf((ListBox3.SelectedItem)));

  TextBox1.Text = RadioButton1.Text.ToString();
  TextBox2.Text = ListBox3.SelectedItem.Value;
}

4 个答案:

答案 0 :(得分:3)

if (RadioButton1.Checked == true)
{    
            var a = ListBox3.SelectedValue.ToString();
            var b = ListBox3.SelectedIndex;

            ListBox4.Items.Add(a);
            ListBox3.Items.RemoveAt(b);

            TextBox1.Text = RadioButton1.Text.ToString();
            TextBox2.Text = a;
}

另外,我建议您查看SelectedIndex值,如果ListBox中未选择任何项目,则SelectedIndex将为-1

更好的代码版本

if (RadioButton1.Checked == true)
{    


    var b = ListBox3.SelectedIndex;
    var a = ListBox3.SelectedValue.ToString();

    if (b < 0)
    {
        // no ListBox item selected;
        return;
    }

    ListBox4.Items.Add(a);
    ListBox3.Items.RemoveAt(b);

    TextBox1.Text = RadioButton1.Text.ToString();
    TextBox2.Text = a;
}

答案 1 :(得分:2)

private void listBox1_SelectedIndexChanged_1(object sender, EventArgs e)
    {
        textBox1.Text = listBox1.SelectedItem.ToString();  
    }

答案 2 :(得分:0)

你需要编辑最后一行代码...... 最可能它是这样的....使用“GetSelectedItem”而不是“SelectedItem”

TextBox2.Text = ListBox3.GetSelectedItem.toString();

答案 3 :(得分:0)

我遇到了同样的问题,发现您需要先将所选值分配给字符串。然后将该字符串分配给文本框。

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    string value1 = listBox1.SelectedItem.ToString();
    TextBox1.Text=value1;
}

希望它有所帮助!