我在写电话簿应用程序。如何在文本框中显示Listview中的数据?
我有一个列表视图,您可以在其中查看数据库中保存的数据。我想添加一个编辑选项。
更具体地说:当我在表格中用订阅者和电话号码标记一行并点击编辑按钮时,屏幕上将显示带有两个文本框的窗口。第一个文本框是名称,第二个是已标记条目的电话号码。
你能告诉我该怎么做吗?
我在写电话簿应用程序。如何在文本框中显示Listview中的数据?
我有一个列表视图,您可以在其中查看数据库中保存的数据。我想添加一个编辑选项。
更具体地说:当我在表格中用订阅者和电话号码标记一行并点击编辑按钮时,屏幕上将显示带有两个文本框的窗口。第一个文本框是名称,第二个是已标记条目的电话号码。
你能告诉我该怎么做吗?
你可以做这样的...
是的,但文本框和ListView是在不同的窗口,我不能 访问它相互
在窗口2拖放两个文本框和像这样做......
只需在Form2类上创建一个属性并在显示Form2之前设置它。
public class Form2
{
public string Name
{
get { return textbox1.Text; }
set { textbox1.Text = value; }
}
public string phonenumber
{
get { return textbox2.Text; }
set { textbox2.Text = value; }
}
}
public class Form1
{
private void btnedit_Click(object sender, eventargs e)
{
for (int i = 0; i < lv.Items.Count; i++)
{
// is i the index of the row you selected?
if (lv.Items[i].Selected == true)
{
//I show here the second field text (SubItems[1].Text) from the selected row(Items[i])
Message.Show(lv.Items[i].SubItems[1].Text);
break;
}
}
Form2 frm2 = new Form2();
frm2.Name= text1;
frm2.phonenumber = text2;
frm2.Show();
this.Hide(); //// if you want to hide the form1
}
}
}
我希望它会帮助你....
使用鼠标点击事件,例如,
private void ListBox1_MouseClick(System.Object sender, System.Windows.Forms.MouseEventArgs e)
{
this.TextBox1.Text = this.ListBox1.SelectedItem;
}
是的,但TextBox和ListView在不同的窗口中,我无法访问它们。 –
如果文本框仅以另一种形式控制,或者您必须声明一个构造函数,其中的文本框从主窗体传递列表视图中选定的参数,或者声明属性并使用所选项目增强属性。 –
@ВладиславНайденов 我编辑了我的答案看看我的答案.. –
我做到了,编译没有问题,但是当我打的编辑按钮,I” m得到异常:“InvalidArgument ='2'的值对于'index'无效参数名称:index”对于这一行 'string number = listView.SelectedItems [0] .SubItems [2] .Text;' –
@ ВладиславНайденов我编辑了我的答案,看看我的回答 –
非常感谢。我发现了错误。我改变了SubItems索引的值并且它正在工作。 –