文本框 c# 引用字符串

本文关键字:字符串 引用 文本 | 更新日期: 2023-09-27 18:35:20

是否可以喜欢在 c# 中将字符串引用为文本框的内容?我有一个列表框,里面有一堆对象。每个对象都包含一个字符串。当我在列表框中选择一个对象时,我希望它的字符串是文本框中的内容,以便我写的任何内容都会保存到字符串中。

例如,在Java中,

您可以在对象中具有PlainDocument,并且每当在JList中选择其他对象时,都可以将JTextField中的文档设置为对象PlainDocument。

文本框 c# 引用字符串

可以将数据绑定用于自动化解决方案,也可以手动侦听列表框的 SelectedIndexChanged 事件,并在事件处理程序中设置 Text 属性。

listBox1.SelectedIndexChanged += (o, e) => {
   object selectedItem = listBox1.SelectedItem;
   textBox1.Text = selectedItem != null ? selectedItem.ToString() : null;
};

可以使用以下命令访问文本框的内容

myTextBox.Text

此属性需要字符串,因此您的答案是"是"。我认为简单地分配此属性就可以了。

更新

我认为你需要这样的东西(假设你正在使用WinForms):

    private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        if(listBox1.SelectedItem != null)
            textBox1.Text = listBox1.SelectedItem.ToString();
    }
    private void button1_Click(object sender, EventArgs e)
    {
        int index = listBox1.Items.IndexOf(listBox1.SelectedItem);
        listBox1.Items.Remove(listBox1.SelectedItem);
        listBox1.Items.Insert(index, textBox1.Text);            
    }

虽然WinForms中有一个针对文本框的TextChanged事件的操作,但是从那里更改列表框有点棘手(最终无限地相互调用),因为我们已经从列表框的更改事件更改文本框。

添加一个按钮来执行此操作可以大大简化它。