Laden...

Forenbeiträge von *neo* Ingesamt 299 Beiträge

21.11.2012 - 23:46 Uhr

Hallo Gü,

wenn ich folgendes mache

Object o = WindowsApplication1.Properties.Resources.bild;

bekomme ich das Bitmap, aber dann habe ich ja genau das Problem vom Anfang, dass ich es nicht in ein Byte Array umgesetzt bekomme.

Grüße

21.11.2012 - 22:38 Uhr

Hallo Gü,

ich muss noch einmal fragen 😦
Wie meinst du das?

Resources.MeinBild

Wie greife ich den darauf zu? Du meinst dann schon in kombination mit dem ResoureManager, oder? Weil einfach zugreifen geht ja nicht, oder?

Grüße

21.11.2012 - 22:16 Uhr

Hallo,

hast du bei den Dateieigenschaften (standardmäßig rechts unten in VS) auch eingestellt, dass eine Resource sein soll?

Muss ich dazu das Bild auswählen? Wenn ja, ist das dann die Eigenschaft "Buildvorgang"? Da kann ich "kein", "kompelieren", "inhalt" oder "Eingebettete Ressource" einstellen.

Eine Resources.resx war automatisch dabei. Dort habe ich auch das Bild reinkopiert, nicht hochgeladen. Geht es deshalb nicht?

Grüße

21.11.2012 - 21:18 Uhr

hallo,

ich habe jetzt mal geschaut wie ich die Ressource direkt lesen kann. Ich wollte es mit folgendem machen:


System.IO.Stream stream = System.Reflection.Assembly.GetManifestResourceStream("WindowsApplication1.Properties.Resources.bild");

Ich erhalte aber immer null. Das JPG liegt unter Programmmappe -> WindowsApplication1-> Resources. Es wird nichts gefunden.

Mit


string[] names = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceNames();
foreach (string name in names)
System.Console.WriteLine(name);

sehe ich auch nicht die genannte Ressource. Da werden nur die Daten angezeigt die genau unter dem Programnamen stehen. z.b. Form1 Ich hab noch ein Bild angehangen um zu sehen welchen Ordner ich genau meine.

Grüße

21.11.2012 - 19:01 Uhr

Hallo,

ich möchte gerne das Bild als Ressource einbinden. Deshabl der wEg. Ich schau aber mal was ich mit deinem Tipp anfangen kann.

Grüße

21.11.2012 - 17:00 Uhr

Hallo,

ich habe versucht eine Bilddatei mittels:


MemoryStream ms = new MemoryStream();
pictureBox.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
bytesArray = ms.ToArray();
test2 = byteToHex(test);

als Hex darzustellen.

Das funktioniert so weit auch. Mein Problem dabei ist, dass in den mir vorliegenden Dateien vom Kunden noch weiter Informationen am Ende angefügt sind. D.H. das JPG-Format hat immer das Ende "ff d9" dahinter befinden sich dann weitere Informationen. Leider gibt mir der obere Quellcode immer nur den Hexbereich bis zum Ende des JPG-formats und nicht noch die Infos dahinter.

Grüße und Danke

18.11.2012 - 10:45 Uhr

Hallo herbivore,

danke für deinen Link. D.h. aber, dass ich auf jeden Fall beim Start der Anwendung eine Internetverbindung braucht um die Zeit einmalig aus dem Netzt abzurufen, oder habe ich die Aussage

Wenn du die reale Zeit also einmal ermittelt hast falsch verstanden?

Grüße

16.11.2012 - 13:02 Uhr

Hallo,

mit DateTime erhält man ja das aktuelle Datum und die aktuelle Uhrzeit die auch in Windows selbst angezeigt wird. Der Benutzer kann diese Uhrzeit jedoch jederzeit ändern.

Gibt es eine Möglichkeit ein Zeit zu erhalten die Revisionssicher ist und der Benutzer diese nicht beinflussen kann, oder anders gesagt nicht so einfach beinflussen kann?

Evt. Bios?

Grüße

09.11.2012 - 17:21 Uhr

Hallo,

In der Praxis kann es aber sein... 😃

Bedeutet das es geht nicht? Die Dokumentation dazu gibt für mich keine Auskunft. Gibt es denn eine Realisierung in meiner beschriebenen Situation, oder ist das mit .Net nicht möglich?

Grüße

09.11.2012 - 14:28 Uhr

Hallo,

ich habe noch eine Frage zum Entschlüsseln. Ich habe es ja jetzt so gemacht gehabt, dass ich den privaten key für das Verschlüsseln (nicht signiert) verwendet habe.
Jetzt bekomme ich beim Entschlüsseln mit dem public key die Meldung "Ungültiger Schlüssel". Ich dache, ich kann bei RSA beide Wege/Richtungen gehen, also verschlüsseln mit privaten key und entschlüsseln mit dem public key. Ist das doch nicht so?

Grüße

06.11.2012 - 19:48 Uhr

Hallo,

hier mal mein Ansatz. Es funktioniert, villeicht hat jemand noch ein paar Tipps dazu:


private String encrypt(String text, String privateKey)
        {
            Encoding encoding = Encoding.GetEncoding(1252);

            RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
            rsa.FromXmlString(privateKey);

            RSAParameters param = new RSAParameters();
            param = rsa.ExportParameters(true);

            byte[] mArray = param.Modulus;

            byte[] textByteArray = encoding.GetBytes(text);
            int textByteArrayLenght = textByteArray.Length;

            String result = "";

            if (textByteArrayLenght <= 501)
            {
                result = Convert.ToBase64String(rsa.Encrypt(textByteArray, false));
            }
            else
            {
                int iteration = textByteArrayLenght / 501;
                int offset = textByteArrayLenght % 501;
                int actPositon = 0;

                for (int i = 0; i < iteration; i++)
                {
                    byte[] temp = new byte[501];

                    for (int j = 0; j < 501; j++, actPositon++)
                    {
                        temp[j] = textByteArray[actPositon];
                    }

                    String tempResult = Convert.ToBase64String(rsa.Encrypt(temp, false));
                    result += tempResult.Length + "#" + tempResult;
                }

                if (offset != 0)
                {
                    byte[] temp = new byte[offset];

                    for (int i = 0; i < offset; i++, actPositon++)
                    {
                        temp[i] = textByteArray[actPositon];
                    }

                    String tempResult = Convert.ToBase64String(rsa.Encrypt(temp, false));
                    result += tempResult.Length + "#" + tempResult;
                }
            }

            return result;
        }

Grüße

06.11.2012 - 12:15 Uhr

Hallo,

ich habe es prototypisch genauso umgesetzt wie du es beschrieben hat bis auf die umgesetzte Verschlüsselung des Klartextes mit der Signatur.

Ich habe die Daten zuerst mit meinem Privaten Schlüssel auf meinem Desktop signiert. Dieser Schlüssel bleibt auch nur bei mir, wird auch nicht in der App. hinterlegt. Das wäre fatal! Den Public Key wird bisher noch im Klartext in der App hinterlegt, dazu schaue ich mir gleich mal deinem Link an.

Zum Verschlüsseln habe ich mir einen weiteren Privat und Public Key erstellt. Ich woltle nicht den gleichen verwenden wie bei der Signierung. Das hast du ja auch somit vorgeschlagen.

Was ich jetzt zum Thema Verschlüsselung, also Punkt 2 gemacht habe ist, dass ich mir die RSAParameter ausgelesen habe und darin den Modulus Wert angeschaut habe. Der Liegt bei 512. Dann habe ich mein Byte Array aus den Daten in 501 Pakete aufgeteilt und diese jeweils verschlüsselt. 501, weil ich gelesen habe das man 11 abziehen muss, hab ich zwar nicht ganz verstanden warum, aber mit einem Array von 0-500 geht es mit einem Array von 0-501 geht es nicht mehr. Scheinbar hat das mit der Menge der zu verschlüssenden Daten zu tun, und je nach Größe des Key ist dieser Wert unterschiedlich.

Heute Abend poste ich meinen Ansatz dazu mal.

Grüße

06.11.2012 - 12:01 Uhr

Hallo,

stimmt, ich hab es etwas komisch im Titel formuliert. Die zweite Antwort

Aber dadurch dass # in base64 nicht erlaubt ist, kannst du es natürlich als Trennzeichen für (mehrere) base64-Strings verwenden, solange du die Strings wieder splittest, bevor du die base64-Decodierung durchführst bzw. bevor du die Strings an Stellen weitergibst, wo nur base64 erlaubt ist.

war das was ich gesucht habe.

Danke

05.11.2012 - 22:31 Uhr

Hallo,

die Frage ist glaub ich sehr einfach, aber ich bin mir nicht sicher. Laut Wikipedia werden bei base64 die Zeichen a-z, A-Z, 0-9 und / und + verwendet. Das heißt zur Trennung von mehreren base64 Strings kann ich zum Beispiel die # nehmen, oder?

Grüße und Danke

05.11.2012 - 19:40 Uhr

Hallo,

das Programm soll den Text entschlüsseln können bzw. Lesen können.

Ich hatte jetzt vor, dass mit RSA zu machen, nur umgekehrt, aber da bekomme ich einen Fehler "Unzulässige Länge". Ich hab jetzt gelesen, dass RSA dafür nicht gemacht ist. Umgekehrt bedeutet ich verschlüssele mit dem Private Key und entschlüssele mit dem Public Key.

Scheinbar kann man jedoch mittels Modulo (RSA Parametern) kleine byte-Päckchen verschlüsseln, die dann später wieder pro Paket entschlüsselt werden. Da fehlt mir aber noch das richtige Vorgehen.

Grüße

05.11.2012 - 15:01 Uhr

Hallo zusammen,

also, ich habe es mittels oppenssl geschaft mir einen privaten und öffentlichen Schlüssel zu generieren. Mit diesem Schlüssel habe ich mittels der Methode von oben eine Datei signiert. In der Datei stehen jetzt im Kartext die Daten die signiert wurden und die Signatur selbst.

Ich möchte jedoch, dass die Daten nicht im Klartext lesbar sind. Dazu möchte ich zusätzlich eine Verschlüsselung durchführen. Eine symetrische Verschlüsselung wäre grundsätzlich denkbar. Gibt es da auch eine Möglichkeit das asymmetrisch zu verschlüsseln? Wobei dabei das Problem wäre, dass ich den privaten Schlüssel für die Verschlüsselung (nicht der für die Signierung) in Anwendung packen müsste, dass ist ja quatsch!
Das was ich bisher über die asymmetrische Verschlüsselung gelesen habe, sagt mir das man mit dem öffentlichen Schlüssel verschlüsselt und mit dem privaten Schlüssel entschlüsselt. Ist das richtig? Hat man andere Möglichkeiten das von mir gewünschte Ergebnis zu erhalten?

Grüße

29.10.2012 - 16:28 Uhr

Hallo,

ihrgend wie blicke ich momentan nicht durch 😃
Scheinbar gibt es mehrere Möglichkeiten wie der Private Schlüssel vorliegen kann. Ich habe immer gedacht das der standardmäßig im PEM-Format vorliegen muss.

Daher meine Frage mit welcher kostenlosen Software (Schlüssel soll kommerziell eingesetzt werden) kann ich denn meinen privaten Schlüssel erstellen bzw. mein Schlüsselpaar.

Grüße

29.10.2012 - 14:44 Uhr

Hallo,

ich habe mir ein Schlüsselpaar (RSA) mit gpg4win erstellt.

Dann habe ich den geheimem Schlüssel in eine *.gpg Datei exportiert.

Zum Einlesen für die anschließende Signierung hatte ich folgendes hier im Forum gefunden:


public string CreateSignature(string text, string privateKey){
    RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
    rsa.FromXmlString(privateKey);

    RSAPKCS1SignatureFormatter rsaFormatter = new  SAPKCS1SignatureFormatter(rsa);
     rsaFormatter.SetHashAlgorithm("SHA1");

     Encoding encoding = Encoding.GetEncoding(1252);
     SHA1Managed sha1 = new SHA1Managed();

      byte[] valueAsHash = sha1.ComputeHash(encoding.GetBytes(text));
      byte[] signedValue = rsaFormatter.CreateSignature(valueAsHash);

       return encoding.GetString(signedValue);
}


leider ensteht ein Problem bei rsa.FromXmlString(privateKey);, weil natürlich in der gpg Datei kein XML ist.

Kann ich die Software zur Generierung des Schlüsselpaars für die Signierung nicht nehmen? Muss ich da was spezielles Benutzen? Kann ich den privaten Schlüssel anderst einlesen?

Grüße

26.10.2012 - 22:45 Uhr

Hallo,

das stimmt, aber die elektronische Signatur mit Hashverfahren ist ein Kryproverfahren. Daher war für miich die Frage ob es das schon koplett gibt.

Grüße

26.10.2012 - 20:51 Uhr

Hallo zusammen,

ich möchte gerne eine elektronische Signatur mit Hashverfahren durchführen.
Was ich noch nicht verstehe ist, muss man bei den Standardklassen (RSACryptoServiceProvider) in .Net vorher die Hashfunktion selbst anwenden, oder gibt es gleich eine Kryptofunktion die alles auf einmal, so zu sagen, erledigt?

Hat vielleicht jemand ein Beispiel?

Grüße

18.10.2012 - 20:42 Uhr

Hallo,

ich möchte gerne einen SHA1 Wert aus einer beliebigen Zeichenkette berechnen. Dazu gibt es ja genug Beispiele.

Dazu habe ich folgenden Code verwendet:


SHA1 sha1 = new SHA1CryptoServiceProvider();
byte[] result = sha1.ComputeHash(Encoding.Default.GetBytes(text));

StringBuilder stringBuilder = new StringBuilder();

foreach (byte b in result)
{
   stringBuilder.Append(b.ToString("x2").ToLower());
}

return stringBuilder.ToString();

da bekomme ich folgenden Wert raus: ef6a95d07b67686770368aa92edcbd8b5d4cc675

Jetzt wollte ich im Internet gegen prüfen und da komme ich auf unterschiedliche Ergebnisse. Mein Ergebnis wird z.B. unter folgendem Link bestätigt SHA1 und md5 Generator

Aber unter SHA1 Hash Generator bekomme ich folgendes Ergebnis: 9b9d3a3195d0659752e17b787466cbf62bae2b2a

Die gemeinsame Zeichenkette ist: "das ist ein test für einen sha1"

Was ist den richtig?

Grüße

31.08.2012 - 15:46 Uhr

Hallo,

habe diesen Regulären Ausdruck verwendet <[^>]+>[^<]*</[^>]+>

Grüße

31.08.2012 - 14:54 Uhr

Hallo,

das ist ne gute Idee? Werd ich gleich mal nach einem Ausdruck suchen.

Ich meld mich!

Grüße

31.08.2012 - 14:33 Uhr

Hallo zusammen,

ich habe einen String, der kann Teile von XML beinhatlen oder normalen Text. Gibt es eine Möglichkeit dies zu erkennen.

Ich habe versucht mit dem XmlReader den String einzulesen und dann mittels Read() diesen zu lesen mit der Hoffnung, dass ich keine Exception erhalte sondern entwender true oder false als Rückgabewert.

Doch leider wird eine Exception geworfen.

Hat jemand einen Denkanstoß für mich?

Grüße

25.07.2012 - 19:23 Uhr

hallo,

der ton hier im forum ist echt manchmal etwas komisch. aber, egal haupsache die lösung passt 😃

meine audrucksweise war falsch! die daten liegen in einer liste die durch eine xml datei gefüllt wurde.

warum entsteht, dass problem damit nicht? wenn ich die liste neu in die listview schiebe dann ist das selektierte item auch weg, oder?

grüße und danke

24.07.2012 - 16:58 Uhr

hallo,

ich habe noch etwas an information vergessen 😃, sorry!

leider ist es so, dass die daten in der listview an einer anderen stelle manipuliert werden und somit der gemerkte index nicht mehr stimmt. manipulation heißt es kommt ein item hinzu oder es fehlt ein item.

angenommen eine liste mit 10 einträgen.
ich selektiere den 4 eintrag, führe ein clear aus, die listview wird anschließend mit einem eintrag weniger gefüllt und zwar der eintrag der jetzt nicht mehr da ist war an der stelle 2.

wird es klar was ich meine?

grüße

24.07.2012 - 16:39 Uhr

hallo zusammen,

ich habe folgendes problem:
meine listview besitzt einige daten. in einer methode merke ich mir ein bestimmtes selektiertes item mit


lastSelectedListViewItem = listView.SelectedIndices[0]

wenn ich jetzt ein clear auf listview ausführe und ich dann den index des gemerkten selektierten item aufrufe mit


lastSelectedListViewItem.Index

erhalte ich -1.
ich habe mir das listview extra gemerkt, damit beim clear nicht verloren geht.

ich mache das um nach dem clear wieder das vorher selektierte item zu elektieren.

geht das nicht?

grüße und danke

24.07.2012 - 08:43 Uhr

hallo,

es lag scheinbar daran, das drawbackground() in der drawsubitem methode falsch war um die ganze zweile einzufärben. das zeichen muss in die drawitem methode. dann geht es.


private void listView_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
{
	e.DrawDefault = true;
}

private void listView_DrawSubItem(object sender, DrawListViewItemEventArgs e)
{
	if (e.ColumnIndex == 0)
	{
		if (e.Item.Checked)
		{
			CheckBoxRenderer.DrawCheckBox(e.Graphics, new Point(e.Item.Bounds.X + 4, e.Item.Bounds.Y + 2), System.Windows.Forms.VisualStyles.CheckBoxState.CheckedDisabled);
		}
		else
		{
			CheckBoxRenderer.DrawCheckBox(e.Graphics, new Point(e.Item.Bounds.X + 4, e.Item.Bounds.Y + 2), System.Windows.Forms.VisualStyles.CheckBoxState.UncheckedDisabled);
		}
	}

	e.DrawText();
}

private void listView_DrawItem(object sender, DrawListViewSubItemEventArgs e)
{
	e.DrawBackground();
}
23.07.2012 - 17:55 Uhr

hallo zusammen,

ich habe folgendes problem und würde mich über ein paar ideen freuen.

ich habe eine normale listview mit checkboxes=true.

mein ziel ist es die checkboxen nicht eingabebereit zu machen, weil diese an einer anderen stelle aktiviert oder deaktiviert werden.

ich habe das mit folgendem hinbekommen:


e.DrawBackground();

if (e.ColumnIndex != 0)
{
	e.DrawDefault = true;
}
else
{   
	if (e.Item.Checked)
	{
		CheckBoxRenderer.DrawCheckBox(e.Graphics, new Point(e.Item.Bounds.X + 4, e.Item.Bounds.Y + 2), System.Windows.Forms.VisualStyles.CheckBoxState.CheckedDisabled);
	}
	else
	{
		CheckBoxRenderer.DrawCheckBox(e.Graphics, new Point(e.Item.Bounds.X + 4, e.Item.Bounds.Y + 2), System.Windows.Forms.VisualStyles.CheckBoxState.UncheckedDisabled);
	}
}

if (listview.View != View.Details)
{
	e.DrawText();
}

das problem ist jetzt, das mit e.DrawBackground(); nur der hintergrund der ersten spalte (roter pfeil) eingefärbt (in grau) wird und nicht auch die anderen subitems (grüne pfeile). nicht wundern, die einfärbung der zeilen erfolgt wo anderst und immer modulo 2, also jede zweite zeile.

hat jemand ne idee was ich vergessen habe? waum nur die erste spalte

danke und grüße

20.07.2012 - 10:45 Uhr

hallo zusammen,

danke für die super antworten!
es hat geholfen das maximieren mit

this.WindowState = FormWindowState.Maximized;

in die formload methode zu setzten.

grüße und danke

19.07.2012 - 15:17 Uhr

hallo zusammen,

ich habe folgendes problem:

ich habe ein mdiform und darin erstelle ich ein mdichild im max-modus, d.h. das child wird koplett im mdiform geöffnet. ich habe dem mdiform ein icon (I 1, siehe bild - grün) zugeordnet. durch das maximieren des mdichilds wird noch einmal ein icon symbol (siehe pfeil im bild) angezeigt in der höhe der menüleiste.

ich habe es leider nicht hinbekommen, dass das icon verschwindet oder ich das gleiche icon wie oben zuordnen kann.

hat jemand ne idee?

[EDIT=winSharp93]Beiträge zusammengeführt[/EDIT]

noch ein hinweis.

das problem besteht nur wenn ich direkt das fenster beim erstellen in den max-modus schickte:

mdichildform.WindowState = FormWindowState.Maximized;

wenn ich es per hand maximiere wird das gleiche icon wie oben angezeigt!

danke und grüße

08.07.2012 - 12:27 Uhr

hallo,

ich habe einen workaround gefunden:
Clicking on tabpage causes ItemChecked event to fire

warum das passiert ahbe ich leider durch deine methode nicht herrausgefunden.

mir reicht der workaround 😃

grüße und danke!

07.07.2012 - 22:56 Uhr

hallo,

ich habe folgendes problem und verstehe es nicht!

ich habe ein tabcontrol mit 3 tabs. auf dem letzten tab ist eine listview welche die eigenschaft checkboxes aktiv hat.

leider kann ich mir folgendes nicht selbst erklären.

wenn ich den letzten tab klicke wird auch das event von der listview, das itemchecked, ausgeführt.

ist das normal, weiß jemand warum das so ist?

grüße und danke

06.07.2012 - 13:38 Uhr

hallo gfoidl,

kein problem. ich übersehe ja auch manches 😃

werd ich gleich mal probieren und mich melden. danke, grüße

06.07.2012 - 12:59 Uhr

hallo gfoidl,

ich weiß das aus der sicht von xml das gleich ist. jedoch habe ich eine methode die über das xml einen hashwert bildet und dieser hashwert ist dann natürlich falsch. dass ist das problem 😦

ist das verhalten also normal?

grüße

06.07.2012 - 12:40 Uhr

hallo zusammen,

ich habe folgendes problem. in meiner xml datei lege das element wie folgt an:


XmlElement valuesElement = root.CreateElement("values");
root.AppendChild(valuesElement);

somit steht in meiner xml datei <values/>, weil das element bisher keine kinder hat.

dann füge ich ein neues kindelement hinzu:


XmlElement kindElement = root.CreateElement("kind");
valueElement.AppendChild(kindElement);

somit habe ich in meinem xml <values><kind></kind></values>

wenn ich jetzt die methode removechild auf das valuesElement anwenden wird das tag für die values nicht mehr so <values/> dargestellt sondern so <values></values>.

das ist doch kommisch, oder? hat jemand schon einmal die erfahrung gemacht?

ich hoffe ich konnte es so einigermaßen erklären.

grüße und danke

18.06.2012 - 16:27 Uhr

hallo scrabbl,,

ich hatte die anderen so verstanden, dass die 100ms deshalb ausreichend sind, weil das framework nicht länger braucht als diese zeit um das SelectedIndexChanged erneut aufzurufen. hatte ich das falsch verstanden?

grüße

17.06.2012 - 12:29 Uhr

hallo zusammen,

ich habe es jetzt so gemacht wie ich es oben gepostet habe. scheint auch zu funktionieren. die gennante methode wird nur einmal aufgerufen und das event so oft wie die anzahl der selektierten zeilen im listview.

vielen dank an euch. ich denke mein problem ist gelösst.

grüße und schönes em-spiel heute abend!

16.06.2012 - 20:32 Uhr

hallo fzelle,

ich glaube ich verstehe deine rätzelfrage 😃 nummer 1 richtig mit folgendem quellcode, oder?



Timer t1 = new Timer();
t1.Interval = 100;
t1.Tick += new EventHandler(timer_Tick);

private void testListView_SelectedIndexChanged(object sender, EventArgs e)
{
    t1.Stop();
    t1.Start();
}

void timer_Tick(object sender, EventArgs e)
{
    t1.Stop();

    this.aktion_die_ausgefuehrt_werden_soll();
}


das entspricht eher der variante wie du es mir beschreibst, oder?

ich defeniere den timer global und setze das event und das intervall. dann stoppe und starte ich den timer im SelectedIndexChanged bis die zeit von 100ms um sind. kann ich den davon ausgehen, dass das das c#-framework denn nicht länger braucht als 100ms um das nächste mal das testListView_SelectedIndexChanged event aufzurufen?

grüße und danke

16.06.2012 - 19:40 Uhr

hallo zusammen,

ich hab jetzt folgendes versucht:


private void testListView_SelectedIndexChanged(object sender, EventArgs e)
{
	if (t1.Enabled == true)
	{
		t1.Tick -= new EventHandler(timer_Tick);
		t1.Stop();
	}

	t1.Interval = 100;
	t1.Tick += new EventHandler(timer_Tick);
	t1.Start();
}

void timer_Tick(object sender, EventArgs e)
{
	t1.Stop();

	this.aktion_die_ausgefuehrt_werden_soll();
}

jedoch wird this.aktion_die_ausgefuehrt_werden_soll() 5 mal ausgeführt wenn ich 5 zeilen markiert habe. ich mache etwas falsch oder? ich bin etwas stutzig über die 100ms. das heißt ja die methode this.aktion_die_ausgefuehrt_werden_soll() wird in 100ms ausgeführt wenn der user nicht eine weitere zeile mit umschalttaste oder strg markiert, oder? so schnell ist ja keiner user 😃. ich habe glaub ich einen denkfehler in dem was ihr mir sagen wolltet.

grüße

15.06.2012 - 19:46 Uhr

hallo André,

wie meinst du das genau mit Modifier Shift?
das event wird ja bei der selektion von 5 zeilen, 5 mal ausgeführt. dann kann ich abprüfen ob shift gedrückt wurde und dann? ich stehe auf dem schlauch. kannst du mir kurz deine idee noch einmal erläutern?

danke und grüße

15.06.2012 - 11:50 Uhr

hallo,

ich habe jetzt gelesen, dass wenn ich die anwendung auf einen 64 bit kompiliere und dann noch anycpu wähle, sollte die anwendung auf beiden systemen laufen und es wir in den normalen registry software pfad geschrieben und nicht in Wow6432Node. hab ich das richtig verstanden?

grüße und danke!

15.06.2012 - 09:45 Uhr

hallo,

noch der hinweis: ich kompiliere meine anwendung als AnyCPU. wie verhält es sich den dann? muss ich dann einen eintrag unter software direkt machen und unter wow6432node?
ganz verstehen tu ich es nicht.

grüße

15.06.2012 - 09:37 Uhr

hallo herbivore,

danke für schnelle antwort.

ich schreibe explizit in den local user pfad und darin in unter software.

klar kann ich einfach testen, das habe ich auch gemacht, aber ich wollte evt. sachne ausschließen die man durch testen nicht abdecken kann.

das mit dem 32 - 64 bit ist ein guter hinweis danke, das schaue ich mir mal an. danke!

grüße

15.06.2012 - 09:09 Uhr

hallo,

ich möchte gerne daten zum programm in die registry schreiben. das klappt auch. für mich stellt sich die frage, ob es dazu ihrgend welche einschränkungen bei windows vista oder windows 7 gibt. hintergrund ist, dass es ja auch restriktion beim schreiben in den programmordner gibt. ich habe im internet nichts gefunden, dass kann natürlich sein, dass es keine informationen gibt, weil es keine probleme gibt 😃

grüße und danke!

11.06.2012 - 13:22 Uhr

hallo,

ich habe mal wieder folgendes problem.

ich habe eine listview mit multiselect = true und dem event selectedindexchanged.

ich habe 15 einträge in der listview und markiere Zeile 1 BIS (also mit umschalttaste nicht mit strg) bis 5.

die selectedindexchanged methode zum event wird dann 5 mal nach einander aufgerufen.

wenn ich jetzt mir den count der selectierten items (ListView.selecteditems.count) im selectedindexchanged anzeigen lasse ist dieser bei jedem aufruf um eins erhöht. d.h. es wird 5 mal die methode aufgerufen.

mein ziel ist es eigentlich das nur einmal selectedindexchanged ausgeführt wird, weil ich pro "gesamtselektion" (zeile 1 bis 5) nur einmal was machen will und nicht bei jedem selektierten item, also 5mal.

vielleicht ist das event das falsch dafür?

grüße und danke

07.06.2012 - 15:32 Uhr

hallo herbivore,

danke für deine hilfe. ich werde auf den genanntens seiten mal schauen ob da was dabei ist,

danke!

grüße

06.06.2012 - 10:15 Uhr

hallo herbivore,

Ok, das habe ich jetzt verstanden, dass war mir aus deiner Antwort nicht ganz klar geworden. ich wollte dann das Clipping vergrößern, bring leider auch nichts, also gibt es eigentlich keine Lösung und ich muss darauf verzeichtn, oder?

grüße und danke

05.06.2012 - 20:51 Uhr

hallo herbivore,

vielleicht falsch ausgedrückt 😃
wenn ich eine listview im detailmodus habe und gridlines true. dann werden graue linien dargestellt. diese würde ich gerne überzeichnen mit einer anderen farbe. dazu hatte ich eigentlich gedacht, dass ich das drawitem event implementiere und mit ein rectangle über die vorhanden grauen linien lege. das geht aber scheinbar nicht.

e.Graphics.DrawRectangle(new Pen(Color.Red), new Rectangle(e.Item.Bounds.X - 1, e.Item.Bounds.Y - 1, e.Item.Bounds.Width + 2, e.Item.Bounds.Height + 2));

grüße