动态显示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(第一张图片)类中。正确的文本保存在数组中,但不显示在表中。请帮助!

动态显示ListView列中的字符串-不工作

没有在任何地方使用LVD变量。你必须在主视图中添加"lvd"控件。你可以使用设计器,在你的"FilePickerDialog"的对话框结果中,你可以将结果分配给你的数据网格。

MainView的一些伪代码

void    Config_Clicked()
{
   ConfigDlg dlg = new ConfigDlg();
   if(dlg.ShowDialog() == OK)
   {
       this.myListView1.Items.Add(dlg.userInput[0]);
   }
}