0

我有一个带有 a 的表单listView,它是通过调用该showCheckedInFiles()方法来填充的。当我向表单添加一个简单的按钮并按下它时,该方法工作得非常好,这会调用该方法,但是当我从其他地方调用该方法时,它不会填充我的listview.

请帮助它让我发疯。下面的第一个方法是从另一个类调用的,它显示在下面,我也包含了按钮方法以供参考,正如我所说,按钮工作得很好,但我需要能够在不单击的情况下调用该方法一个按钮!!:

public void openProject(string projectname)
{
    projectName = projectname;
    string userDir = CSDBpath + projectname + "\\checkedOUT\\" + userName;
    if (!Directory.Exists(userDir)) //Does the user's directory exist, if not, create it
    {
        Directory.CreateDirectory(userDir);
    }
    showCheckedInFiles();
 }

 private void button3_Click(object sender, EventArgs e)
 {
    showCheckedInFiles();
 }

调用上述方法的方法:

private void buttonOpenProject_Click(object sender, EventArgs e)
{
     ListView.SelectedListViewItemCollection mySelectedItems;
     mySelectedItems = listView1.SelectedItems;
     Form1 mainform = new Form1();
     string myProject = "";

     foreach (ListViewItem item in mySelectedItems)
     {
         myProject = item.Text;
     }

     mainform.openProject(myProject);
     //mainform.showCheckedInFiles();
     this.Close();
 }
4

2 回答 2

5

buttonOpenProject_Click您创建一个新的隐藏实例,Form1该实例与已经显示的显然已经存在的实例无关。

于 2013-02-12T17:45:20.943 回答
0

将 ShowCheckInFiles 方法移动到一个单独的类并作为参数传递到列表视图中。这应该允许您使用该方法,无论您在哪里调用它。

例如...

SomeClass.ShowCheckInFIles(listview1);

于 2013-02-12T18:30:56.907 回答