c#-如何用另一种方法与对象交互?
我正在使用TreeView&ListView填充自制的Windows资源管理器;我现在正在创建一个新文件夹。我想做的是,当我按下“新建文件夹”按钮时,会添加一个名为“新建文件夹”的新listView项目。然后,让用户使用BeginEdit()方法键入文件夹的名称 在c#-如何用另一种方法与对象交互?,c#,listview,label,edit,listviewitem,C#,Listview,Label,Edit,Listviewitem,我正在使用TreeView&ListView填充自制的Windows资源管理器;我现在正在创建一个新文件夹。我想做的是,当我按下“新建文件夹”按钮时,会添加一个名为“新建文件夹”的新listView项目。然后,让用户使用BeginEdit()方法键入文件夹的名称 在listView1\u AfterLabelEdit方法中,我使用Directory.CreateDirectory(“C:\”+e.Label)语句以创建新文件夹。 但是现在,我想更改上面的“newFolder”ListViewIt
listView1\u AfterLabelEdit
方法中,我使用Directory.CreateDirectory(“C:\”+e.Label)代码>语句以创建新文件夹。
但是现在,我想更改上面的“newFolder”ListViewItem的一些属性(例如标记、工具提示项…-以供其他使用)。我如何与按钮中的ListView项进行交互???
真的希望你们能帮忙!非常感谢先进的技术 newFolder
仅在buttonNewFolder\u Click
的范围内。将其逐字移动到方法之外,使其更“全局”可访问:
ListViewItem newFolder;
private void buttonNewFolder_Click(object sender, EventArgs e)
{
newFolder = listView1.Items.Add("New folder", 1);
newFolder.BeginEdit();
}
private void listView1_AfterLabelEdit(object sender, LabelEditEventArgs e)
{
Directory.CreateDirectory("C:\"+e.Label); //for example
//You now have access to newFolder here
}
重要提示:newFolde
r很可能为空(取决于触发这些事件/调用方法的顺序)。进行必要的检查,在使用任何一种方法访问newFolder时,都要尽可能防御性地编写代码,因为它可以在代码中的多个点进行访问
ListViewItem newFolder;
private void buttonNewFolder_Click(object sender, EventArgs e)
{
newFolder = listView1.Items.Add("New folder", 1);
newFolder.BeginEdit();
}
private void listView1_AfterLabelEdit(object sender, LabelEditEventArgs e)
{
Directory.CreateDirectory("C:\"+e.Label); //for example
//You now have access to newFolder here
}