Devon (26.01.2016)
-
25.01.2016, 14:12 #1
ListView Image Item - int verwenden?
Hallo!
Gibt es die Möglichkeit bei einem Image Item in einer ListView einen String zu verwenden um den Namen des Bildes dort angeben zu können?Geändert von Devon (26.01.2016 um 00:55 Uhr)
-
25.01.2016, 19:44 #2
- Registriert seit
- 15.11.2011
- Beiträge
- 6.081
- Blog Entries
- 5
Thanked 9.119 Times in 2.996 PostsAW: ListView Image Item - String verwenden?
Die Bilder werden einer Listview über eine ImageList zugewiesen. Zur ImageList kann man Image-Objekte hinzufügen. Was auch immer du mit String meinst (URL? Lokaler Pfad? Base64?) ist daher egal, da man in .NET Bilder damit aus allen möglichen Quellen laden kann.
Beispiel:
var request = WebRequest.Create("https://u-labs.de/forum/images/ulabs/favicon.ico");
var response = request.GetResponse();
var image = Image.FromStream(response.GetResponseStream());
var imageList = new ImageList();
imageList.Images.Add(image);
listView1.LargeImageList = imageList;
var testItem = new ListViewItem() {
Text = "Test",
ImageIndex = 0
};
listView1.Items.Add(testItem);
Die Methode Image.FromFile() lädt ein Bild aus dem Dateisystem und mit einem MemoryStream lässt sich auch ein Base64-String entsprechend umwanden. In wie weit das sinnvoll ist, steht wieder auf einem anderen Blatt und hängt stark vom jeweiligen Einsatzzweck ab.
-
The Following User Says Thank You to DMW007 For This Useful Post:
-
26.01.2016, 00:55 #3
AW: ListView Image Item - String verwenden?
Um nochmal mein Problem etwas mehr zu erläutern: Also ich benutze ein API um Spielerdaten aus einer Webseite auszulesen. Das funktioniert auch soweit, alles was ich auslese möchte funktioniert. Bis auf das Level / den Rang des Spielers. Der wird eben als "int" angegeben. Will ich dies jedoch als Image darstellen kommt folgende Meldung: Der Typ "int" kann nicht in "string" konvertiert werden. Ist es überhaupt möglich dies dann so darzustellen wie ich es möchte?
-
26.01.2016, 10:08 #4
AW: ListView Image Item - String verwenden?
Hi Devon,
hast du beim Darstellen des Images mal versucht die .ToString()-Methode auf den Rang anzuwenden?Mfg
.\
-
26.01.2016, 11:12 #5
AW: ListView Image Item - String verwenden?
Ja kommt auf den gleichen Fehler heraus. Nur das string nicht in int konvertiert werden kann. Ich will ja nur den Wert einer Variable für den Namen des Bildes verwenden.. muss doch machbar sein oder?
Geändert von Devon (26.01.2016 um 11:21 Uhr)
-
26.01.2016, 20:03 #6
- Registriert seit
- 15.11.2011
- Beiträge
- 6.081
- Blog Entries
- 5
Thanked 9.119 Times in 2.996 PostsAW: ListView Image Item - String verwenden?
Was du vor hast macht für mich null Sinn: Strings als Images? Dann Int in String, zwei Beiträge weiter unten ist es dann auf einmal umgekehrt. Bilder in ListViews sind Image-Objekte, und die repräsentieren wie der Name schon sagt ein Bild. Keine Strings oder sonstigen Datentypen, die haben damit nichts zutun - außer eben dass man über einen Dateinamen oder eine URL Bilder aus anderen Quellen laden kann, wie ich in meinem letzten Beitrag bereits gezeigt habe. Etwas großartig anderes kann ich mir hier auch nicht vorstellen, sofern du nicht was ganz anderes machen willst als du behauptest. Beschreibe daher erst mal vernünftig welche Daten von der API nun kommen, was genau wohin umgewandelt werden soll, sowie was du dir erhoffst damit am Ende zu erreichen. Und zwar bitte mit Beispielen, am besten auch mit Code zum Ist-Zustand. Dann haben wir hier die Chance zu verstehen, was du überhaupt machen willst und wo das Problem liegt.
-
27.01.2016, 10:44 #7
AW: ListView Image Item - String verwenden?
Ja hab mich etwas falsch ausgedrückt gehabt. Am besten ich gebe euch die URL zur API (inkl. Framework): klick. Mein ListView sieht derzeit (wenn es ausgefüllt ist) wie folgt aus:
Mein Vorhaben ist es einfach neben dem angegebenen Level des Spielers (in dem Fall 72) das Levelicon anzeigen zu lassen. Sämtliche Icons sind schon in der Imagelist hinzugefügt wurden (1.png, 2.png etc..). Soll am Ende halt so aussehen:
Eigentlich recht einfach. Aber wie im zweiten Beitrag angegeben gibt er mir Fehler aus wenn ich dies so machen will wie ich es vorhabe. Aktuell sieht das im Code so aus:
private void button1_Click(object sender, EventArgs e)
{
string lastLine = File.ReadLines(Environment.CurrentDirectory + "/Config.txt").Last();
textBox2.Text = lastLine;
Wasta api = new Wasta(textBox2.Text);
int mycredits = api.CreditsLeft(out status);
toolStripStatusLabel2.Text = Convert.ToString(mycredits);
Player player = api.PlayerbyName(textBox1.Text, out status);
double lvl = player.General.level;
int a;
a = (int)lvl;
double exp = player.Details.experience;
int b;
b = (int)exp;
double kills = player.Details.kills;
int c;
c = (int)kills;
double deaths = player.Details.deaths;
int d;
d = (int)kills;
string[] arr = new string[7];
ListViewItem itm = new ListViewItem();
arr[0] = "(" + Convert.ToString(lvl) + ")";
arr[1] = player.General.nickname;
arr[2] = player.General.country;
arr[3] = Convert.ToString(exp);
arr[4] = player.Clan.name;
itm = new ListViewItem(arr);
listView1.Items.Add(itm);
}
Funktioniert wie gesagt. Nur gibt es halt Probleme das Level dann als Bild neben der Zahl anzeigen zu lassen.
-
29.01.2016, 09:44 #8
- Registriert seit
- 15.11.2011
- Beiträge
- 6.081
- Blog Entries
- 5
Thanked 9.119 Times in 2.996 PostsAW: ListView Image Item - String verwenden?
Und wo soll da eine Grafik zurückkommen? Ich sehe dort zum Level nur:
Code:level: type int: Level of the player
-
29.01.2016, 10:46 #9
AW: ListView Image Item - String verwenden?
Kann ich die Zahl nicht verwenden um dann z.B. ZAHL.png in dem ListView anzeigen zu lassen? Sprich als Filenamen (nur halt ohne Endung)?
-
29.01.2016, 21:40 #10
- Registriert seit
- 15.11.2011
- Beiträge
- 6.081
- Blog Entries
- 5
Thanked 9.119 Times in 2.996 PostsAW: ListView Image Item - String verwenden?
Jetzt verstehe ich langsam was du vor hast. Was du suchst steht eigentlich schon in meine allerersten Antwort hier drin (Post #2), nämlich das ImageIndex-Property des ListViewItems. Wenn alle Ränge fortlaufend durchnummeriert (1,2,3 usw) in der Reihenfolge zur ImageList hinzugefügt werden, setzt du den ImageIndex einfach auf Level - 1. Da gibts dann auch keine Strings weil nur mit Indizes gearbeitet wird und somit auch keine Typumwandlungen (außer ggf. von Double in Integer, aber da reicht ja simples casten).
-
The Following User Says Thank You to DMW007 For This Useful Post:
Devon (30.01.2016)
Ähnliche Themen
-
Ubuntu Blu-ray Install Image
Von CDLF im Forum LinuxAntworten: 2Letzter Beitrag: 27.11.2015, 20:01 -
Was ist der Unterschied zwischen String und string?
Von Sido im Forum .NetAntworten: 1Letzter Beitrag: 16.12.2013, 09:14 -
C# ListView Items in Array speichern
Von Saad im Forum .NetAntworten: 5Letzter Beitrag: 09.10.2012, 18:56 -
[Frage] ListView zum Einloggen Bringen
Von AmJano im Forum Knuddels ProgrammierungAntworten: 4Letzter Beitrag: 26.09.2012, 21:51 -
VB.Net Textbox Image
Von rVs14 im Forum .NetAntworten: 3Letzter Beitrag: 18.06.2012, 15:38
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.