26. november 2005 - 16:57Der er
6 kommentarer og 1 løsning
Ændre navn på fil gennem Listview BeginEdit
Hey, jeg har siddet med et problem i længere tid, og kan simpelthen ikke løse det!
Hvis du ser tilbage på Stifinder i Windows, kan du højreklikke på en fil, sige "Omdøb", og så kan du editere i navnet, derefter trykker du væk og så er filnavnet ændret. Jeg vil lave præcis det samme i min version der ligner stifinder virkelig meget.
I listView1 har jeg en context menu på når man højreklikker, hvor du kan sige fx. copy, rename, move, properties osv.. så når man trykker Rename, kan man ændre i filnavnet på den fil man klikkede på. Problemet ligger i, at jeg jo skal affyrer en kommando der rent faktisk ændre den rigtige fil, når du så trykker væk fra BeginEdit editeringen. Det prøvede jeg at gøre med "listView1_AfterLabelEdit" func, men den bliver affyret for tideligt, så selvom du rent visuelt kan se Filnavnet er ændret i dit listview, står det gamle navn der stadig for den item..
Håber der er nogle der forstår mit problem, her er et lille stykke kode:
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Slettet bruger
26. november 2005 - 17:05#1
Altså, så resulatet af det, hvis jeg smider en beskedbox på det, vil være det gamle navn, fordi kommandoen bliver affyret for tideligt, den læser stadig det gamle navn for den item, fordi den stadig er igang med at editere i den, håber i kan forstå hva problemet er!
du skal ikke køre nogen afterLabelEdit funktiion i din menuRename_click metode du skal tilføje et event afterLAbelEdit event motode til din listview noget ala
Det gør så at jeg kan editere i navnet på filen. Jeg vil så godt have at når man fx trykker væk, så affyrer den en func der renamer filen efter det nye navn.
nu ved jeg ikke hvad du har i din list view om du har sti og filnavn seperaret eller hvad
dette fungerer kun om du har hele stien i første kollonne og du renamer til noget gyldigt private void listView1_AfterLabelEdit(object sender, System.Windows.Forms.LabelEditEventArgs e) { string ny = e.Label; string gammel = listView1.Items[e.Item].Text; File.Move(gammel,ny); }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.