Hur gör man för att lägga in tex nya linklabels i en listview Använd OpenFileDialog, som jag skrev innan. Skrev innan? ehh.. ok.. var till någon annan då kanske... Kommer du vidare med detta? <b>(1225): 'System.Windows.Forms.ListView' does not contain a definition for 'SelectedIndex'</b> .SelectedIndex är inte alltid det bästa att köra, då det begränsar dig till endast en post (fast du har kanske konfigurerat din listbox till att endast tillåta en markerad rad???), loopa annars igenom listan och lägg in de markerade objekten i en temporär lista, som du sedan går igenom och öppnar fil för fil. Jag ska prova detta... Klickbara items i listview
Jag har nu en listview som plockar in filnamn i ett par kolumner.
nu vill jag kunna dubbelklicka på filnamnet för att öppna filen i en ny tab eller i en ny form, vilket som ..
skickar in en kort kodnutt för att visa hur filerna läggs in..
if (files != null)
{
string line;
foreach ( System.IO.FileInfo file in files )
{
ListViewItem item = new ListViewItem(file.Name);
System.IO.StreamReader sr = new
System.IO.StreamReader(file.FullName);
line = sr.ReadLine();
string[] field = line.Split(';');
//Ändra filtypen i MSCONS Tim (enadst namnet)
if (field[2] == "Sender ID")
{
item.SubItems.Add("MSCONS-TIM");
}
else
{
item.SubItems.Add(field[2]);
}
listView1.Items.Add(item);
sr.Close();
}
}
vore toppen om jag kunde få ett par tips..
Tack på förhand..
/Daniel Wiberg
Sv: Klickbara items i listview
Om du tvungen vill göra det själv tror jag inte du kan få en en linklabel i listan. Du får helt enkelt fånga dubbelklicket (eller vilket event du nu vill köra din aktion på...) och sen söka igenom listan efter filnamnet, lägga till resten av sökvägen och sedan öppna filen.
/EmmaSv:Klickbara items i listview
ja det är inte där problemet ligger utan när jag listar upp dessa, hur göra jag för att fånga klicket?
man kan ju ganksa enkelt ställa in Activate men sedan?
har provat med en massa olika men det verkar i inte som det finns onclick eller så att lägga till..
this.OnClick(openFile(file.FullFileName));
är du med?Sv: Klickbara items i listview
private void listView1_SelectedIndexChanged(object sender, System.EventArgs e)
{
// Vart i listboxen klickades det?
int iListboxIndex = listView1.SelectedIndex;
.
.
.
.
}
PeterSv:Klickbara items i listview
dessvärre inte nej :-S
EDIT*
Vet inte om det finns några andra säät att komma fram till det på,
jag loopar ju igenom alla filer och listar upp i lisview...
funderar då på om det finns något sätt att skapa en länk eller liknande i varje loop?
eller om man helt enkelt ska titta på en annan lösning, börjar känna mig lite pressad över att jag inte kommer på nåt..
Hemskt tacksam för flera förslag...
Tack igen... Sv: Klickbara items i listview
Som jag svarade innan - dvs i den andra tråden där du frågar om listviews... För jag förstår inte varför du vill använda en listview när funktionaliteten för det du vill göra finns färdigprogrammerad i c#.
Gå in i properties-fönstret, klicka på blixten (som står för events) och välj ett event när du vill att det ska hända. Skriv in det metodnamn du vill knyta till eventet, tex OnFileListClick. Metoden kommer att skapas och du kan börja koda för att gå igenom listan.
Anledningen till att du inte hittar selectedindex är att det heter listView1.SelectedItems på en listview. Du har inte funderat på att använda dig av intellisensen? eller hjälpen? sök på listview så ser du hur en sådan är strukturerad och uppbyggd samt vilka metoder som är applicerbara.
/EmmaSv:Klickbara items i listview
Anlednigen till att jag inte använder openfiledialog är at listview uppdateras automatiskt när det kommer in en ny fil i vald mapp..
dessa filer ska du kunna öppna och sedan skicka ett godkännande och då tas filen bort ur mappen.
men som sagt..
jag ska prova ;-)
tack för din tid ännu så länge :-D
EDIT
Jodå det fungerar... jag har nu dubbelklicket med och jag öppnar en messagebox bara för att testa..
Nu till nästa dumma fråga så ska jag låta er vara sedan ;-)
Hur får jag med / plockar ur filenamnet ur listan sedan?
tacksam för dina underbara svar Emma...
EDIT 2
Självklart..
foreach ( ListViewItem item in listView1.SelectedItems )
{
test = item.SubItems[0].Text;
}
Använder huvudet nu..
tack för hjälpen ...
/Wiberg