动态显示ListView列中的字符串-不工作
本文关键字:工作 字符串 ListView 动态显示 | 更新日期: 2023-09-27 18:08:08
目标如下:用户输入如下图所示的内容。3个条目(源文件, 目标目录,如果文件存在,则)保存在字符串数组中。用户点击OK
点击OK后,前一个窗口关闭,用户被带到如图所示的主表单。前面提到的源文件和目标目录如表所示。
我使用下面的代码来显示输入的文件&目录:
private void okButton_Clicked(object sender, EventArgs e)
{
//saving user's input
userInput = new string[3];
userInput[0] = sourceFileTextBox.Text;
userInput[1] = destinationDirComboBox.SelectedItem.ToString();
userInput[2] = ifFileExistsComboBox.SelectedItem.ToString();
//creating a new ListView object - the object is derived from the ListView Class
and has absolutely nothing in the constructor or anywhere
Classes.ListViewDerivative lvd = new Classes.ListViewDerivative();
ListViewItem item1 = new ListViewItem(userInput[0]);
item1.SubItems.Add(userInput[1]);
lvd.Items.AddRange(new ListViewItem[] { item1 });
this.DialogResult = DialogResult.OK;
this.Hide();
}
它不工作。无论我把这段代码放在哪里,表都是空的-我试图把这个改编的代码放在ListViewDerivative构造函数中,ListViewDerivative类中的一个函数和editFileEntry(第一张图片)类中。正确的文本保存在数组中,但不显示在表中。请帮助!
没有在任何地方使用LVD变量。你必须在主视图中添加"lvd"控件。你可以使用设计器,在你的"FilePickerDialog"的对话框结果中,你可以将结果分配给你的数据网格。
MainView的一些伪代码
void Config_Clicked()
{
ConfigDlg dlg = new ConfigDlg();
if(dlg.ShowDialog() == OK)
{
this.myListView1.Items.Add(dlg.userInput[0]);
}
}